使用.htaccess将图像重定向到php脚本

时间:2017-12-06 09:14:54

标签: .htaccess

我正在尝试将自适应图片 - http://www.adaptive-images.com/合并到我的网站中。

Github帐户 - https://github.com/MattWilcox/Adaptive-Images

理想情况下,.htaccess应将所有图像重定向到adaptive-image.php,输出应调整大小。

图片未加载。我检查了响应标头及其返回的text / html。似乎请求将转到index.php文件。

以下是我正在使用的当前.htaccess

<IfModule mod_rewrite.c>

  RewriteEngine On

  # Send any GIF, JPG, or PNG request that IS NOT stored inside ai-cache
  # to adaptive-images.php

  RewriteCond %{REQUEST_URI} !/ai-cache
  RewriteRule \.(jpe?g|gif|png)$ adaptive-images.php

  # Send all files except css, js or image files to index.php

  RewriteBase /
  RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
  RewriteRule ^.*$ index.php

</IfModule>

第一部分是我试图让它发挥作用的地方

第二部分完美无缺。

1 个答案:

答案 0 :(得分:1)

您可以使用代表原始Apache请求的REQUEST_URI更改THE_REQUEST,并且在应用与REQUEST_URI不同的其他规则后,它不会发生变化。

DirectoryIndex index.php

<IfModule mod_rewrite.c>

  RewriteEngine On
  RewriteBase /

  # Send any GIF, JPG, or PNG request that IS NOT stored inside ai-cache
  # to adaptive-images.php

  RewriteCond %{REQUEST_URI} !/ai-cache [NC]
  RewriteRule \.(jpe?g|gif|png)$ adaptive-images.php [L]

  # Send all files except css, js or image files to index.php

  RewriteCond %{THE_REQUEST} !(robots\.txt|\.(css|js|png|jpe?g|gif)) [NC]
  RewriteRule . index.php [L]

</IfModule>