我的问题是,非HTTPS请求和WWW请求重定向到Main_Page,这是很好,当请求的url是根域,但不是如果请求是一篇文章,特殊页面等。需要一些帮助与重定向.htaccess
示例1: http:// example.com/wiki/Articlename重定向到https:// example.com/wiki/Main_Page,但我想重定向到https:// example.com /维基/ ArticleName的
实施例2: HTTPS:// www.example.com/wiki/Articlename重定向到https:// example.com/wiki/Main_Page,但我要重定向到https://example.com/wiki/Articlename
这是我在.htaccess设置:
<IfModule rewrite_module>
RewriteEngine On
RewriteBase/
Options +FollowSymlinks
# Force HTTP to HTTPS/SSL
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]
# Redirect Example.com to Example.com/wiki/Main_Page
RewriteCond %{HTTP_HOST} example\.com [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ /wiki/$1 [PT,L]
# Short url for wiki pages
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [PT,L]
# Permanent redirect www url to non-www
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule (.*) http://example.com/$1 [L,R=301]
</IfModule>
使用共享主机链接到MediaWiki(Debian的8杰西,阿帕奇,PHP 5.6),所以httpd.conf的是不是一个选项。 Example.com只提供MediaWiki,这就是域名被重定向到https:// example.com/wiki/Main_Page(默认)的原因。
任何想法我做错了什么?
编辑:HTTPS重写现在正在将“#HTTP HTTP to HTTPS/SSL”移动到.htaccess顶部,但WWW重写仍然不起作用。代码已更新。