好的,所以我们在错误的目录中工作,嗯!
我们有一个 .htaccess 文件,用于将某些文件重定向到php脚本。现在我们要添加一些我们想要绕过此重定向的硬文件。到目前为止,这似乎并没有奏效,我们感到难过。
以下是我们在启动适用于其他应用程序的引擎后的初始.htaccess文件内容:
RewriteCond $ 1!^(index.php | robots.txt | favicon.ico)
RewriteRule ^(。*)$ /index.php/$1 [L]
我们正在尝试从 / directory / 加载文件所以我们尝试将其中的每一个添加到RewriteCond部分:
RewriteCond%{REQUEST_URI}!目录
RewriteCond $ 1!^(index.php | i / | robots.txt | favicon.ico |目录)
似乎都没有效果。关于如何加载这个的任何想法?
示例:
应重定向
不应重定向
http://site.com/directory/index.php
等
答案 0 :(得分:1)
试试这个:
不会重定向
RewriteRule directory/.* - [L]
重定向
RewriteRule ^$ thisredirects/ [L]
RewriteRule (.*) thisredirects/$1 [L]
答案 1 :(得分:0)
您是否尝试在/目录目录中创建第二个.htaccess文件并在其中执行NoRewrite?
答案 2 :(得分:0)
您似乎希望将docroot中实际上不是现有文件的任何内容重定向到index.php。这一点重写应该处理:
RewriteCond %{REQUEST_FILENAME} -s [OR] # file with size
RewriteCond %{REQUEST_FILENAME} -l [OR] # file is a link
RewriteCond %{REQUEST_FILENAME} -d # file is a directory
RewriteRule ^.*$ - [NC,L] # don't rewrite [last rule]
RewriteRule ^(.*)$ /index.php/$1 [NC,L] # everything else gets sent to index.php
[OR]
运算符也可能是你在RewriteCond上寻找的。 p>
此外,如果您只想将/目录部分列入白名单,则可以在重定向前将规则放在[L]
标记为“最后一条规则”
RewriteRule ^/directory.*$ - [NC,L]