我有以下重写设置:
RewriteRule r/(.*) scripts/report.php?cp=1&id=$1
重定向mydomain.com/r/123abc非常有用,但它重定向服务器上以“r”开头的所有页面。有人知道如何使这个更具体,只有当网址是mydomain.com/r/时重定向? 我应该注意,我需要保持这种通用性,所以我不能在规则中包含mydomain.com。
答案 0 :(得分: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]
希望有所帮助。
答案 1 :(得分:0)
尝试在^/
重写规则前加r/(.*)
。这样就可以了:
RewriteRule ^/r/(.*) scripts/report.php?cp=1&id=$1
答案 2 :(得分:0)
您应指定RegEx应匹配整个字符串,而不是仅匹配字符串。您可以使用^
和$
符号执行此操作:
RewriteRule ^r/(.*)$ scripts/report.php?cp=1&id=$1