阅读了这么多文章,但仍无法让它发挥作用:
到目前为止,我们有两个URL指向同一页面:
[1] /live.php ?code = 1234& id = abcd(使用meta-tag重定向到下面的链接)
[2] /survey/survey.php ?code = 1234& id = abcd(此文件“survey.php”显示内容)
我们现在有一个新&更短的链接来访问上述文件[2]:
[3] / s / 1234& id = abcd(用.htaccess重写,
?code =“不再使用)
以下mod_rewrite代码用于通过链接[3]访问[2]而无需重定向:
RewriteCond %{REQUEST_URI} ^/s/
RewriteCond %{QUERY_STRING} !code
RewriteRule ([^/]+)/?$ /survey/survey.php?code=$1 [L]
到目前为止一直很好。
然而人们仍在使用链接[1]和[2]。因此,我们现在想要将链接[1]和[2]重定向到链接格式[3] (R = 301)。
这是我们在同一个.htaccess文件中添加上述代码之后添加的内容:
RewriteCond %{REQUEST_URI} ^/live\.php [OR,NC]
RewriteCond %{REQUEST_URI} ^/survey/ [NC]
RewriteRule ^([^=]+)=(.*)$ /s/$2 [L,R=301]
它不会起作用。怎么了?
PS:似乎对链接[1]工作正常,但链接[2]没有工作。也许有些混淆因为/调查在链接[2]中发生两次?