我有一个htaccess文件,它将所有文件重定向到根index.php
文件,除非满足某些条件。
如果网站在本地运行,以下代码可以很好地运行,并用于为上传的媒体资产提供占位符图像。这不需要从网站下载所有文件,因此存储库只包含文件。
以下规则匹配的文件如下所示:
[\d]{1,}.(thumbnail|medium|large).[\w]+
我想要做的是匹配中间组并在重定向规则中使用它,但似乎无法使用它:
RewriteCond %{REQUEST_URI} data/applications/.*/media/image/.*/[\d]+\.(.*)\.[\w]+$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*$ data/applications/app/www/img/temp.$1.jpg [L]
原始代码在这里:
RewriteCond %{REQUEST_URI} data/applications/.*/media/image/.*/[\d]+\.thumbnail\.[\w]+$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*$ data/applications/app/www/img/temp.thumbnail.jpg [L]
RewriteCond %{REQUEST_URI} data/applications/.*/media/image/.*/[\d]+\.medium\.[\w]+$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*$ data/applications/app/www/img/temp.medium.jpg [L]
RewriteCond %{REQUEST_URI} data/applications/.*/media/image/.*/[\d]+\.large\.[\w]+$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*$ data/applications/app/www/img/temp.large.jpg [L]
如何将3个单独的匹配合并为一个规则?
答案 0 :(得分:0)
你可以制定一个单一的规则:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(data/applications)/.*/media/image/.*/\d+\.([^.]+)\.\w+$ $1/app/www/img/temp.$2.jpg [L]