【发布时间】:2011-04-04 03:19:51
【问题描述】:
我的网址格式是这样的:
example.com/A/B
我希望我的 url 条件是如果 A.html 确实存在于缓存文件夹中做某事,到目前为止我有这样的事情:
RewriteCond ^([^/]+)/?([^/]*) /cache/$1.html -f
但我知道这不是正确的做法,任何帮助将不胜感激!
谢谢!
【问题讨论】:
标签: regex apache mod-rewrite rewrite
我的网址格式是这样的:
example.com/A/B
我希望我的 url 条件是如果 A.html 确实存在于缓存文件夹中做某事,到目前为止我有这样的事情:
RewriteCond ^([^/]+)/?([^/]*) /cache/$1.html -f
但我知道这不是正确的做法,任何帮助将不胜感激!
谢谢!
【问题讨论】:
标签: regex apache mod-rewrite rewrite
$N 在RewriteCond 中的反向引用指的是对应的RewriteRule。因此,如果您在 RewriteRule 中包含您需要的匹配组,您可以这样做:
RewriteCond /cache/$1.html -f
RewriteRule ^([^/]+)/?([^/]*) whatever-replacement
或者,您可以使用 %N 反向引用,并包含另一个 RewriteCond:
RewriteCond %{REQUEST_URI} ^([^/]+)/?([^/]*)
RewriteCond /cache/%1.html -f
【讨论】: