mod_rewrite规则更改父文件夹

时间:2013-06-05 10:09:55

标签: regex mod-rewrite

网站上的某些不可更改的超链接指向/folderA/index.php?id=somestuff。 我需要将请求重定向到/folderB/index.php?id=somestuff

我做了一些实验,但我无法让它工作,任何帮助都表示赞赏。

RewriteEngine on
RewriteRule /folderA/index\.php\?id=([\w-]+)$ /folderB/index.php?id=$1

2 个答案:

答案 0 :(得分:1)

假设您不打算使用不同的get请求,这应该有效:

RewriteEngine on
RewriteRule /folderA/index\.php\?id=(.*?)$ /folderB/index.php?id=$1

答案 1 :(得分:1)

请记住,RewriteRule与查询字符串不匹配,只匹配REQUEST_URI而没有它。请改用此代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+folderA/(index\.php\?id=[^&\s]+) [NC]
RewriteRule ^ /folderB/%1 [R=302,L]