我正在使用干净的url和mod重写,并在解析字符串时遇到了一个小问题,
干净的网址是url.com/_flie-23.html
RewriteRule ^_file-(.*)$ %{DOCUMENT_ROOT}/newFile/$1 [L]
但是我收到了一些失败的请求,例如url.com/dirt/_flie-23.html。这现在错过了重写测试。我尝试了以下内容,它适用于/ dirt /但不适用于干净。有什么建议我会怎么做?
RewriteRule ^([^/]+)_file-(.*)$ %{DOCUMENT_ROOT}/newFile/$2 [L]
更新 DoH!只需要改为
RewriteRule ^(.*)_file-(.*)$ %{DOCUMENT_ROOT}/newFile/$2 [L]
THX 领域
答案 0 :(得分:1)
RewriteRule ^(.*)_file-(.*)$ %{DOCUMENT_ROOT}/newFile/$2 [L]
答案 1 :(得分:0)
您可以随时使用单独的规则来清洁和污垢:
RewriteRule ^_file-(.*)$ %{DOCUMENT_ROOT}/newFile/$1 [L]
RewriteRule ^([^/]+)/_file-(.*)$ %{DOCUMENT_ROOT}/newFile/$2 [L]
# ^----- though I think you are missing a slash here
否则,您可以使用?
进行分组可选,并更改反向引用:
RewriteRule ^(([^/]+)/)?_file-(.*)$ %{DOCUMENT_ROOT}/newFile/$3 [L]