Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess文件导致404_Php_Html_.htaccess_Rest - Fatal编程技术网

Php .htaccess文件导致404

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

我的公用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 %{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/.*