我有一个动态页面,我需要重定向到.htaccess中的另一个动态页面。
我为重定向尝试了不同的语法,但似乎没有任何效果:
RewriteEngine on
RewriteRule /index.php?p=page&page_id=store$ http://www.website.com/index.php [R=301]
OR
RewriteEngine on
RewriteCond %{QUERY_STRING} ^p=page&page_id=store$
RewriteRule ^/index.php$ http://www.website.com/index.php? [L,R=301]
编辑:我在购物车中有一个旧的php页面,我已将其转移到新地址。因此,为了保留搜索引擎页面排名,我想将旧页面重定向到新地址。我希望仍然访问www.website.com/index.php?p=page&page_id=store的访问者重定向到website.com/index.php
提前致谢!
答案 0 :(得分:0)
用于重写htaccess文件内部规则的URI总是会删除前导斜杠。因此,/index.php
代替index.php
,因为htaccess文件基本上是每个目录的情况,类似于<Directory>
指令。所以你想要第二个选项,但没有前导斜杠:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^p=page&page_id=store$
# no slash --v
RewriteRule ^index.php$ http://www.website.com/index.php? [L,R=301]