htaccess将动态URL重定向到另一个动态URL

时间:2014-10-03 06:47:26

标签: php regex .htaccess mod-rewrite redirect

我需要将一个动态网址重定向到另一个,但参数略有变化。这是原始网址:

http://www.EXAMPLE.com/index.php?main_page=index&cPath=5

需要将其重定向到

http://www.EXAMPLE.com/index.php?main_page=index&cPath=25

我尝试了很多不同的变化,但似乎没有一种变化。

RewriteCond %{QUERY_STRING} ^main_page=index&cPath=5$
RewriteRule ^/(index\.php|)$ http://www.EXAMPLE.com/index.php?main_page=index&cPath=25 [L,R=301]

我为此疯狂......任何人都可以指出我正确的方向并告诉我我做错了什么?

2 个答案:

答案 0 :(得分:1)

我认为领先的斜线是你模式中的问题。在根目录中尝试此规则.htaccess:

RewriteCond %{QUERY_STRING} ^main_page=index&cPath=5$ [NC]
RewriteRule ^/?(index\.php)?$ /$1?main_page=index&cPath=25 [NC,L,R=301]

答案 1 :(得分:0)

也许没有条件?

RewriteEngine on
rewriterule ^index.php?main_page=index&cPath=5$ http://www.EXAMPLE.com/index.php?main_page=index&cPath=25 [r=301,nc]