我有一些规则,目前剥离了我网站的文件扩展名,另外还有一条删除www部分的规则。但是,如果我要访问www.mydomain.co.uk/work
,则会加载www.mydomain.co.uk/work.php
我的htaccess:
# strips the www from URL
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI}/$1 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]
答案 0 :(得分:1)
您应首先针对您的域制作第一个,并且不会出现此问题。并且您在重写规则中同时使用REQUEST_URI
和捕获的URI。以这种方式尝试规则。
# strips the www from URL
RewriteCond %{HTTP_HOST} ^www\.yoursite\.com$ [NC]
RewriteRule ^(.*)$ http://yoursite.com/$1 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L,QSA]