14

我有一个使用 htaccess 来使用漂亮 URL 的站点。但是我希望 htaccess 文件保留一个完整的文件夹并且它的内容完全。我的 htaccess 文件的内容是:

RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1

我应该如何完成上述代码以完全排除名为“admin”的文件夹

提前谢谢了!

4

3 回答 3

22

你也可以在你想忽略的文件夹中放一个新的 .htaccess 文件,说:

RewriteEngine Off
于 2013-12-19T15:06:32.920 回答
17

您要排除的文件夹在哪里,/excluded-folder/您将添加以下规则:

RewriteCond %{REQUEST_URI} !^/excluded-folder/.*$

在您列出的其他两个 RewriteConds 之前。

于 2012-12-12T15:02:57.457 回答
0

我在 TYPO3 的子目录中遇到了 PhpMyAdmin 的问题。很长一段时间后,我在上面目录中的一个文件中发现了这个块,.htaccess导致 phpmyadmin 的一个文件出现故障:

# UTF-8 encoding
AddDefaultCharset utf-8
<IfModule mod_mime.c>
    AddCharset utf-8 .atom .css .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml
</IfModule>

原因是存在phpmyadmin.css.php由规则触发的文件。
更改规则后,如下 PhpMyAdmin 正常工作:

# UTF-8 encoding
AddDefaultCharset utf-8
<IfModule mod_mime.c>
    AddCharset utf-8 .atom .js .json .manifest .rdf .rss .vtt .webapp .webmanifest .xml

    #####
    ## This block is for the file phpmyadmin.css.php, where the suffix css is not the last one.
    ## @see https://httpd.apache.org/docs/current/mod/mod_mime.html#multipleext
    #####
    <FilesMatch "[^.]+\.css$">
      AddCharset utf-8 .css
    </FilesMatch>
</IfModule>

仅当后缀位于文件名末尾时 <FilesMatch "[^.]+\.css$">才会触发条件。css

所以我的案例不是关于重写,而是关于一个类似的问题,重写似乎是我的首要解决方案。

于 2019-09-22T23:36:47.357 回答