【问题标题】:Redirect internal to path, if resource doesn't exists如果资源不存在,则将内部重定向到路径
【发布时间】:2014-03-10 12:43:29
【问题描述】:

我正在尝试在内部重定向到另一个位置,因此如果图像不存在,用户将看不到“脚本”位置/uri:

RewriteCond %{REQUEST_URI} ^/resources/img/tires [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^resources/img/tires/(.*)$ reifen/imagematch/$1 [L]

例如,如果我请求图像:

http://domain.tld/resources/img/tires/manufacturer/image.jpg -> 图片存在,直接提供图片。

如果我要求:

http://domain.tld/resources/img/tires/manufacturerX/image2.jpg -> 图片不存在, 调用位于http://domain.tld/reifen/imagematch/{manufacturerX/image2.jpg}的脚本

我必须在我的重写规则中修改什么,以便显示的示例能够正常工作?

最好的问候和感谢!

【问题讨论】:

  • 你的规则对我来说是有效的。确保在 RewriteCond 语句之前使用 RewriteEngine On。
  • 重写模块开启,但规则不起作用...
  • 我正在使用 codeigniter 并尝试使用我的方法访问控制器。也许这就是问题更新:是的,这就是问题......

标签: php apache .htaccess rewrite


【解决方案1】:

您可以在 root .htaccess 中使用此规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^resources/img/tires/(.+)$ /reifen/imagematch/$1 [L,NC]

【讨论】:

  • 这条规则也不起作用。它总是试图在“资源”中找到脚本路径,而不是相对于根路径。
  • 上述.htaccess文件的位置是什么?
猜你喜欢
  • 2015-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 1970-01-01
  • 2012-12-13
相关资源
最近更新 更多