RewriteEngine on
RewriteBase /
# This will redirect all versions to http://www.sitename.com version
RewriteCond %{HTTP_HOST} ^sitename.com
RewriteRule (.*) http://www.sitename.com/$1 [R=301,L]
当我打开页面www.sitename.com/rrule
时,它正常工作但如果我访问的网页没有像sitename.com/rrule
那样的www,则只会重定向到我设置为不同规则的index.php
页面。
RewriteRule ^rrule$ ./user/rrule.php [L,NC]
相同的问题是带有查询字符串的页面。
RewriteRule ^([a-zA-Z0-9_-]+)/?$ ./user/rrule_one_var.php?oneid=$1 [L,NC]
我想让规则适用于两个版本的网站(www和没有www)。
答案 0 :(得分:0)
访问非www案例时强制URL为www。因此,请将您的网址设置为与www版本唯一。
案例1:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.yoursite\.com
RewriteRule (.*) http://www.yoursite.com/$1 [R=301,L]
替代案例:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
并在下面添加重写条件。现在你的问题将得到解决。