使用301 .htaccess将php页面重定向到另一个php页面

时间:2012-09-17 13:40:53

标签: .htaccess mod-rewrite redirect url-rewriting http-status-code-301

我有一个动态页面,我需要重定向到.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

提前致谢!

1 个答案:

答案 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]