【问题标题】:Redirecting all requests to index.php except /files subdirectory将所有请求重定向到 index.php,除了 /files 子目录
【发布时间】:2013-01-01 13:07:41
【问题描述】:

到目前为止,我对 .htaccess 文件了解甚少。我想将所有请求重定向到我的根文件夹中的一个 index.php 文件,除非 url 链接到存在且位于 files 文件夹中的文件。 (例如example.com/files/picture.png)我想在根目录中仅使用htaccess文件来实现这一点,如果需要的话,在文件目录中使用一个。此外,我不想显示权限被拒绝消息。

现在我有这个:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

但如果 url 引用的文件存在,它不会重定向到 index.php 文件。有什么帮助吗?我在互联网上寻找,但找不到任何东西。

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    类似这样的:

    RewriteEngine on
    
    RewriteCond %{REQUEST_URI}  /img/.+(gif|png|jpg)$
    RewriteRule .* - [L]
    
    RewriteCond %{REQUEST_URI}  /css/.+(css|png)$
    RewriteRule .* - [L]
    
    RewriteCond %{REQUEST_URI}  /js/.+css$
    RewriteRule .* - [L]
    
    RewriteCond %{REQUEST_URI}  /js/.+(js|htm)$
    RewriteRule .* - [L]
    
    RewriteCond $1 !^(index\.php|robots\.txt)
    RewriteRule ^(.*)$ /index.php/$1 [L]
    

    所有请求都将通过 index.php 文件,除了 css javascript 和图像文件。这个 .htaccess 文件我用于 codeigniter 框架,所以它可能会根据您的情况有所不同。

    【讨论】:

      猜你喜欢
      • 2015-03-21
      • 2014-07-08
      • 1970-01-01
      • 2012-07-27
      • 2016-07-13
      • 2012-12-07
      • 2016-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多