我创建了这条规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)/account/(.*)$ accounts/$1/$2 [NC,L]
指向这样的地址: example.com/john/account/img/1.jpg 至 example.com/accounts/john/img/1.jpg 它有效。
如果不存在phisical文件的url,我知道如何制定规则。
但是现在我希望在此规则之后为默认图像(或其他文件类型)设置文件夹。参考该示例,我想显示图像 example.com/default/img/1.jpg (或直接 example.com/img/1.jpg )图片不存在于“john”文件夹中( example.com/accounts/john/img/1.jpg )。
我该怎么办?
答案 0 :(得分:0)
请尝试以下规则:
# image doesn't exist in /accounts/john/<img>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/accounts/$1/$2 !-f
RewriteRule ^([\w-]+)/account/(.+)$ default/$2 [NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/accounts/$1/$2 -f
RewriteRule ^([\w-]+)/account/(.+)$ accounts/$1/$2 [NC,L]
答案 1 :(得分:0)
感谢anubhava。
与此同时,我正在尝试使用此代码并且似乎有效。
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-zA-Z0-9_-]+)/account/(.*)$ accounts/$1/$2 [NC,L]
# If file is not found into accounts folder (limited to "images")
# it is searched in root folder (/images)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^accounts/([a-zA-Z0-9_-]+)/images/(.*)$ images/$2 [NC,L]