【发布时间】:2020-04-05 02:46:46
【问题描述】:
我很困惑。
我的目标是检测是否需要重定向(路径已更改)。这是一个最小的例子。
RewriteRule ^first$ second
RewriteCond %{REQUEST_URI} !^/$1$
RewriteRule ^(.*)$ /$1 [R=301,L]
我请求example.com/first 是为了获得301 to second。
问题是,RewriteCond 总是评估为 true 并创建一个循环。
第一次去,还好。但是在第二个请求(现在是 example.com/second)上,它再次评估为真,即使 %{REQUEST_URI} 是 /second 并且 $1 是 second。我知道是。我通过重定向到附加了两个变量的 URL 进行了检查。
知道我错过了什么吗?
【问题讨论】:
标签: regex apache .htaccess mod-rewrite server-variables