Php Htaccess重定向到另一个文件(如果以前的文件不存在)

Php Htaccess重定向到另一个文件(如果以前的文件不存在),php,apache,.htaccess,redirect,mod-rewrite,Php,Apache,.htaccess,Redirect,Mod Rewrite,我正在把一个网站从codeigniter翻译成laravel 我想将以前的图像URL重定向到新的图像URL,每个资源的图像都是单个的,因此我将其与资源ID一起使用 前面的URL示例 新URL示例 其中1是资源ID 我的重定向访问权限 # Redirect Cover Images RewriteCond %{HTTP_HOST} ^(.*)\.example(.*).org [NC] RewriteRule ^application/images/(.*)/(.*).(jpg|png) ht

我正在把一个网站从codeigniter翻译成laravel 我想将以前的图像URL重定向到新的图像URL,每个资源的图像都是单个的,因此我将其与资源ID一起使用

前面的URL示例

新URL示例

其中1是资源ID

我的重定向访问权限

# Redirect Cover Images
RewriteCond %{HTTP_HOST} ^(.*)\.example(.*).org [NC]
RewriteRule ^application/images/(.*)/(.*).(jpg|png) http://example%2.org/resources/$2/cover1.png [R=301,L]
在新站点中,我有三种类型的图像

cover1.png, cover2.png, 默认_cover.png

路径保持不变

上面的.htaccess代码适用于cover1.png

我需要写重定向,如果cover1.png不存在,它将重定向到cover2.png。如果不存在,则默认为_cover.png,默认cover的路径不同


如何使用.htaccess实现这一点您可以使用以下条件规则:

#1)if /cover1.png !=existent file
RewriteCond %{DOCUMENT_ROOT}/cover1\.png !-f
#redirect "/cover1.png" to "/cover2.png"
RewriteRule ^ /cover2\.png [NC,L,R]
#2)if /cover2.png !=existent file
RewriteCond %{DOCUMENT_ROOT}/cover2\.png !-f
#redirect "/cover2.png" to "/default.png"
RewriteRule ^ /default.png [NC,L,R]

您可以使用以下条件规则:

#1)if /cover1.png !=existent file
RewriteCond %{DOCUMENT_ROOT}/cover1\.png !-f
#redirect "/cover1.png" to "/cover2.png"
RewriteRule ^ /cover2\.png [NC,L,R]
#2)if /cover2.png !=existent file
RewriteCond %{DOCUMENT_ROOT}/cover2\.png !-f
#redirect "/cover2.png" to "/default.png"
RewriteRule ^ /default.png [NC,L,R]

这可能对您有帮助这可能对您有帮助我还需要获取资源ID。我怎么做?我还需要获取资源ID。我怎么做?