创建一个带有变量输入的重写规则,并重定向到带有查询字符串的文件

时间:2012-05-29 22:03:06

标签: regex apache mod-rewrite

如何编写重写规则以便它接收部分URL并将用户重定向到包含该部分URL作为查询字符串的文件。

具体来说,我想从以下方面重定向用户:

http://localhost/SR/XXYYYZZ

以下内容:

http://localhost/sr.php?sr=XXYYZZ

以下是我编写规则的方法:

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/SR/(.*)$
RewriteRule ^SR/(.*)$ sr.php?sr=$1 [L]

这显然不起作用。如果这显然很明显,我道歉。对于Apache和正则表达式,我真的是初学者。

2 个答案:

答案 0 :(得分:0)

你走在正确的轨道上。试试这个:

RewriteEngine on
RewriteBase /dev/m/
RewriteRule ^sr/(.+)$ sr.php?sr=$1 [L,NC,QSA]

答案 1 :(得分:0)

RewriteEngine On
RewriteRule ^/SR/ sr.php [L]

RewriteEngine On
RewriteBase /
RewriteRule ^SR/ sr.php [L]

然后在sr.php

$sr = substr($_SERVER['REQUEST_URI'], 4);

这可以避免mod_rewrite的参数转义问题。