我想将非www重定向到www。此外,我使用自定义网址,其中domain.com/blablabla.html
必须显示 url.php 的内容..
我使用下面的代码,其中domain.com/blablabla.html
显示url.php
的内容,但当我访问www.domain.com/blablabla.html
时,重定向到domain.com/url.php
,而是必须重定向到domain.com/blablabla.html
并显示url.php
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([^/]+)\.html$ /url.php [L]
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
答案 0 :(得分:1)
翻转规则的顺序,否则最后一条规则仅适用于转换后的URI:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^[^/.]+\.html$ /url.php [L,NC]
在测试之前不要忘记清除浏览器缓存。