Php .htaccess文件导致404
我的公用html文件夹中有一个.htaccess文件,如下所示:Php .htaccess文件导致404,php,html,.htaccess,rest,Php,Html,.htaccess,Rest,我的公用html文件夹中有一个.htaccess文件,如下所示: RewriteEngine On RewriteBase / RewriteRule ^index\.html$ / [R=301,L] RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L] RewriteCond %{REQUEST_URI} !"/ntransfers/" RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUE
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ / [R=301,L]
RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]
RewriteCond %{REQUEST_URI} !"/ntransfers/"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
在/ntransfers/中有一个子目录/admin/。在此子目录中还有另一个.htaccess文件:
Options -Indexes
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /home/devsend/public_html/ntransfers/admin/.htpasswd
Require valid-user
我的目标是在涉及重写规则时忽略/ntransfers/及其所有子目录
RewriteRule ^ index.php [QSA,L]
…我正在使用它来使用slimPHP进行路由
我尝试过在我的RewriteCond中更改目录,以及在位于不同子目录级别的各种.htaccess文件中使RewriteEngine离线
对于重写规则,我是否可以完全忽略一个目录及其所有子目录
编辑
我已将我的.htaccess更新为以下内容,但仍然不走运:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ / [R=301,L]
RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]
RewriteCond %{REQUEST_URI} !^/ntransfers$
RewriteCond %{REQUEST_URI} !^/ntransfers/.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
编辑2
如果我按以下方式更改我的sub-directory.htaccess文件,它将正常工作
Options -Indexes
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /home/devsend/public_html/ntransfers/admin/.htpasswd
#Require valid-user
…但是这会禁用身份验证
编辑3
经过所有更改,这两个.htaccess文件都是这样的:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ / [R=301,L]
RewriteRule ^(.*)/index\.html$ /$1/ [R=301,L]
RewriteCond %{REQUEST_URI} !^/ntransfers$
RewriteCond %{REQUEST_URI} !^/ntransfers/.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
在子目录中:
Options -Indexes
<FilesMatch ".">
AuthType Basic
AuthName "Password Protected Area"
AuthUserFile /home/devsend/public_html/ntransfers/admin/.htpasswd
Require valid-user
</FilesMatch>
你差不多有了
改变
RewriteCond%{REQUEST\u URI}!“/ntransfers/”
到
RewriteCond%{REQUEST\u URI}^/ntransfers/
编辑:缺少子目录位,请尝试以下操作:
RewriteCond %{REQUEST_URI} !^/ntransfers$
RewriteCond %{REQUEST_URI} !^/ntransfers/.*
多年后,如果文件夹结构正确,则子文件夹中的htaccess拼写错误:p尝试过,但仍然没有成功/public\u html/\uuuuu工作正常/public\u html/ntransfers/worksfine/public\u html/ntransfers/admin/仍然不走运!如果我在sub directory.htaccess文件中禁用了用户身份验证部分,它可以正常工作,特别是行Require valid userAhh。。。auth首先运行,这是冲突的。我怀疑如果你检查你的日志,它实际上是在寻找401(需要认证)页面。快速黑客,围绕你的授权部分与。。。还是没什么,它会变成404页。奇怪。你能看看我的编辑吗?我有一种感觉,这可能是我没有看到的愚蠢的东西。你甚至在
/home/devsend/public\html/ntransfers/admin/
里面有index.php
?
RewriteCond %{REQUEST_URI} !^/ntransfers$
RewriteCond %{REQUEST_URI} !^/ntransfers/.*