0

我有以下重写设置:

RewriteRule r/(.*) scripts/report.php?cp=1&id=$1  

重定向 mydomain.com/r/123abc 效果很好,但它会重定向服务器上以“r”开头的所有页面。有谁知道我如何才能更具体地只在 url 为 mydomain.com/r/ 时重定向?我应该注意,我需要保持这个通用性,所以我不能在规则中包含 mydomain.com。

4

3 回答 3

0

我不确定这是否适合您(未经测试),但请尝试一下:

# Rewrite ini
RewriteEngine on
RewriteBase /mydomain.com/

# Redirect all /mydomain.com/r/* calls to scripts/report.php
RewriteRule ^r/(.*)$ scripts/report.php?cp=1&id=$1 [QSA]

希望有帮助。

于 2012-04-05T15:42:26.710 回答
0

试着在你的重写规则^/前面加上一个。r/(.*)这将使它:

RewriteRule ^/r/(.*) scripts/report.php?cp=1&id=$1
于 2012-04-05T15:43:30.560 回答
0

您应该指定 RegEx 应该匹配整个字符串,而不是只匹配字符串。您可以使用^$符号执行此操作:

RewriteRule ^r/(.*)$ scripts/report.php?cp=1&id=$1
于 2012-04-05T15:44:57.340 回答