.htaccess 重写规则在没有R标志的情况下不工作

.htaccess 重写规则在没有R标志的情况下不工作,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我需要这个网址: 要重写(不重定向)到: 因此,我在htaccess中添加了以下重写规则: RewriteCond %{REQUEST_URI} ^\/aroundtheshows RewriteRule ^aroundtheshows(.*)?$ ats$1 [L] 但它不起作用,我有一个404 然而,如果我有R=301标志,重定向工作正常(虽然这不是我想要的,但它意味着匹配是正确的) 谢谢 如果我理解正确,您希望访问 http://example.net/ats/get?id=123

我需要这个网址:

要重写(不重定向)到:

因此,我在htaccess中添加了以下重写规则:

RewriteCond %{REQUEST_URI}  ^\/aroundtheshows
RewriteRule ^aroundtheshows(.*)?$ ats$1 [L]
但它不起作用,我有一个404

然而,如果我有R=301标志,重定向工作正常(虽然这不是我想要的,但它意味着匹配是正确的)


谢谢

如果我理解正确,您希望访问

http://example.net/ats/get?id=123
并在提供
http://example.net/aroundtheshows/get?id=123

在这种情况下,只需反转您的规则-无需重写cond:

RewriteRule ^ats(.*) aroundtheshows$1 [L]

此处演示:

如果我理解正确,您希望访问

http://example.net/ats/get?id=123
并在提供
http://example.net/aroundtheshows/get?id=123

在这种情况下,只需反转您的规则-无需重写cond:

RewriteRule ^ats(.*) aroundtheshows$1 [L]

此处演示:

否,当我访问时,我希望提供来自的内容。这给了我一个404。我也试过,谁说一切正常,但在htaccess中它实际上不起作用…愚蠢的问题也许是,你的资源确实存在,因为你的重写规则很好…是的,它确实存在,当我访问时,我得到了内容。不,当我访问时,我想从中提供内容。这给了我一个404。我也试过了,谁说一切正常,但在htaccess中它实际上不起作用…愚蠢的问题也许是,你的资源确实存在,因为你的重写规则很好…是的,它确实存在,当我访问时,我得到了内容。