事实上,我正在处理一个小的PHP脚本,我使用somme htacces函数,如重写,但我有一个问题,为了重定向所有网址dream-9.html到dream.php?id = 9使用此代码:< / p>
RewriteEngine On
RewriteRule dream-([0-9]+)\.html dream.php?id=$1 [L]
最近我决定将所有非www重定向到www,但我有一个问题,同时从非www重定向到www梦想9.html成为dream.php?id = 9并且它显示在链接上这是第二个代码:
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^/?(.*) http://%1/$1 [L,R=301,NE]
答案 0 :(得分:1)
您需要按正确顺序保留规则,即在内部重写规则之前保留301规则。
有这样的规则:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
RewriteRule dream-([0-9]+)\.html$ /dream.php?id=$1 [L,QSA,NC]