我正在使用Apache / 2.4.10并且我正在使用这些重写规则
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !\.(htm|php|js|css|htc|png|gif|jpe?g|ico|xml|csv|txt|swf|flv|mp4|webm|ogv|mp3|ogg|oga|eot|otf|tt[cf]|woff2?|svgz?|pdf|gz)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
</IfModule>
如果我导航(在Chrome或Firefox中测试)到“example.com/my-page”,则会将Url重写为“www.example.com/index.php”(主页而不是我的页面)。< / p>
我尝试用以下代码替换最后两行:
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^(.*) http://www.example.com%{REQUEST_URI}
我也改变了重写条件/规则的顺序(即将最后两行放在RewriteBase正下方......
我确信这完全符合它在类似网络服务器上应有的效果。
请帮助,我在俯瞰什么?
非常感谢你。