【问题标题】:Apache Rewrite: Simple exception not working for image typesApache Rewrite:简单的异常不适用于图像类型
【发布时间】:2012-02-06 15:50:26
【问题描述】:

这个问题对我来说似乎很简单,但我似乎无法让它发挥作用。

我正在尝试对除已定义图像类型之外的所有请求进行简单的重写。

三个非常重要的说明:

  1. 这是通过浏览器访问的图像目录中的 .htaccess 文件完成的,该目录位于 example.com/images/,因此 .htaccess 文件位于 public_html/ images/.htaccess 本地

  2. 这个解决方案需要很好地配合我在这个问题上从其他人那里得到的很棒的帮助:Apache Rewrite: image directory based on HTTP host

  3. 我使用的是共享主机,而不是 VPS 或专用主机,因此我的访问受到限制;我知道这不会很复杂。

我尝试了以下(以及对其进行修改)但没有成功:

public_html/images/.htaccess

RewriteEngine on
RewriteRule !\.(gif|jpg|png)$ index.php?q=$1 [L]

我想我可能只是在这里遗漏了一些简单的东西。

【问题讨论】:

  • 当使用! 时,您不能使用$1。另外 $1 只包含 'gif'、'jpg' 或 'png',我认为你不需要。您可以尝试改用$0,或%{REQUEST_URI}

标签: apache .htaccess mod-rewrite


【解决方案1】:

当对 images 文件夹的请求不是对图像文件的请求时,我认为您正在尝试将所有内容重定向到 index.php

试试这个:

RewriteEngine on
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png)$ [NC]
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

【讨论】:

  • 您的假设和代码是正确的,被接受为答案并投票赞成,谢谢!
猜你喜欢
  • 2020-11-06
  • 2021-06-18
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
  • 2013-08-24
  • 2017-08-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多