Mod rewrite 为什么这个重写规则的更改会修复我的404
在文档根目录下,WordPress拥有此.htaccessMod rewrite 为什么这个重写规则的更改会修复我的404,mod-rewrite,Mod Rewrite,在文档根目录下,WordPress拥有此.htaccess # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfM
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
AuthUserFile /home/foo/.htpasswd
AuthName "FOO Admin"
AuthType Basic
<Limit GET>
require valid-user
</Limit>
RewriteEngine off
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
一个非WordPress目录显示为404,带有WordPress“未找到”页面。该目录具有基本的auth.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
AuthUserFile /home/foo/.htpasswd
AuthName "FOO Admin"
AuthType Basic
<Limit GET>
require valid-user
</Limit>
RewriteEngine off
AuthUserFile/home/foo/.htpasswd
AuthName“FOO-Admin”
AuthType Basic
需要有效用户
发动机熄火
更改重写规则/index.php[L]
到重写规则//index.php[L]
修复了该问题
为什么要修它?它是否告诉mod_rewrite不要查看当前目录(.)而是子目录(./)
我真的想更清楚地了解这个过程
PS我在这篇文章中关闭了
重写引擎
,因为我在auth htaccess中尝试过它-我发现它是在auth之前还是之后都不重要。它似乎没有任何效果。RewriteEngine
是一个mod_rewrite指令,对mod_auth
指令没有影响。关于另一个问题,可能是RewriteBase
不是根,需要定义前缀。在这种情况下,我猜是/foo。如果是这样,RewriteBase/foo
和RewriteRule/foo/index.php[L]
应替换实际指令。不过只是猜测而已。谢谢你的回复!为什么没有mod_auth
指令的目录可以用原始mod_rewrite
指令很好地加载,但是有mod_auth
指令的目录会生成404?你说:目录
,复数。mod_auth指令有时也是这样,但是WP规则集只在安装目录中放置一次。WP htaccess with RewriteRules(如上)位于文档根目录。在doc root下面的目录中,如果有一个带有auth指令的htaccess,它会使用原始规则给出404。其他没有htaccess with auth的目录没有提供404。