.htaccess 如何从目录签入.htacess文件中排除特定目录

.htaccess 如何从目录签入.htacess文件中排除特定目录,.htaccess,.htaccess,这是我的.htaccess文件 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L,QSA] </IfModule> 重新启动发动机 重写cond%{REQUEST_FILENAME}-F

这是我的
.htaccess
文件

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L,QSA]
根据此条件,当前不允许存在的所有目录访问index.php文件


如何禁用特定目录的目录条件检查。基本上,我希望特别地
/mydirectory
通过这个过程,并最终调用index.php。

因为您想要重写目录和该目录中的所有文件,所以不仅需要排除目录检查,还需要排除文件检查

您可以为该目录添加另一条规则。例如:

RewriteEngine on

# Force all requests to /mydirectory/<anything> to go to index.php
# Regardless of whether it exists or not
RewriteRule ^(mydirectory/.*) index.php/$1 [L]

# Rewrite everything to index.php, providing it doesn't exist as a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
重新编写引擎打开
#强制所有对/mydirectory/的请求转到index.php
#不管它是否存在
重写规则^(mydirectory/*)index.php/$1[L]
#如果index.php不是文件或目录,请将所有内容重写为index.php
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L,QSA]

/mydirectory/
的所有请求也会被路由到
index.php

因为您想要重写目录和该目录中的所有文件,所以不仅需要排除目录检查,还需要排除文件检查

您可以为该目录添加另一条规则。例如:

RewriteEngine on

# Force all requests to /mydirectory/<anything> to go to index.php
# Regardless of whether it exists or not
RewriteRule ^(mydirectory/.*) index.php/$1 [L]

# Rewrite everything to index.php, providing it doesn't exist as a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
重新编写引擎打开
#强制所有对/mydirectory/的请求转到index.php
#不管它是否存在
重写规则^(mydirectory/*)index.php/$1[L]
#如果index.php不是文件或目录,请将所有内容重写为index.php
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L,QSA]

/mydirectory/
的所有请求也会被路由到
index.php

您希望在浏览器中为该请求使用什么URL?“最终调用index.php”-您的意思是希望提供该目录中的索引文档?(如果一开始根本没有重写,那么默认行为基本上是什么。)只需添加第三个重写秒,这确保
请求\u URI
不是
/mydirectory
?只是目录本身或该目录+该目录中的所有文件?@misorude是否为/mydirectory检查添加第三个条件?它会在第二个条件下失败,然后崩溃,对吗?然后目录就会被送达。我不希望目录被送达。我希望将请求传递到index.php,即使存在名为/mydirectory的目录“它将在第二个条件下失败并向右中断?”-多个RewriteCond与一个隐式and连接。您希望在浏览器中为此请求使用什么URL?“最终调用index.php”-您的意思是您希望提供该目录中的索引文档?(如果一开始根本没有重写,那么默认行为基本上是什么。)只需添加第三个重写秒,这确保
请求\u URI
不是
/mydirectory
?只是目录本身或该目录+该目录中的所有文件?@misorude是否为/mydirectory检查添加第三个条件?它会在第二个条件下失败,然后崩溃,对吗?然后目录就会被送达。我不希望目录被送达。我希望将请求传递到index.php,即使存在名为/mydirectory的目录“它将在第二个条件下失败并向右中断?”-多个RewriteCond与一个隐式and连接。它究竟是如何“不工作”的?你是否有错误,重写错误,什么都没有?你要什么网址?
.htaccess
文件中是否有其他指令?文件系统路径上有任何其他
.htaccess
文件吗?我收到了500个服务器错误,其他路由也不工作,收到了相同的错误。有关此错误的详细信息,请查看服务器的错误日志。“其他路由”不应受此影响,除非您引用的是生成页面中的资源,这些资源也位于URL路径
/mydirectory/
?它究竟是如何“不工作”的?你是否有错误,重写错误,什么都没有?你要什么网址?
.htaccess
文件中是否有其他指令?文件系统路径上有任何其他
.htaccess
文件吗?我收到了500个服务器错误,其他路由也不工作,收到了相同的错误。有关此错误的详细信息,请查看服务器的错误日志。“其他路由”不应受此影响,除非您正在引用URL路径中生成的页面中的资源?