了解htaccess以及规则如何影响子目录

时间:2016-05-16 02:01:09

标签: php wordpress apache .htaccess mod-rewrite

我的理解是本地.htaccess文件(在当前目录中)会覆盖父目录中的.htaccess吗?

情况似乎并非如此,因此我希望能够更好地了解该过程及其如何级联。

我在/public_html有一个网站,其中包含.htaccess

# BEGIN Domain Redirects
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

然后,我在/public_html/testing.example.com创建了一个子目录,在那里我实现了它自己的.htaccess,如下所示:

# BEGIN Domain Redirects
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !testing.example.com$ [NC]
RewriteRule ^(.*)$ http://testing.example.com/$1 [L,R=301]

我的期望是,当我访问http://testing.example.com时,域将始终保持http://testing.example.com,因为/public_html/testing.example.com/.htaccess将是主指令文件?

这种工作......直到我尝试安装WordPress ...当我进入第3步并单击“运行安装”时,URL会更改为http://www.example.com/testing.example.com/并且会引发错误。< / p>

  

禁止

     

您无权访问/wp-admin/install.php   服务器

     

此外,尝试时遇到403 Forbidden错误   使用ErrorDocument来处理请求。

要解决此问题,我必须在子目录上运行安装时暂时重命名/public_html/.htaccess,然后在完成后将其更改回来。

这是正常行为吗?假设在访问http://testing.example.com/时子目录/public_html/testing.example.com/.htaccess应该是主人,我错了吗?

0 个答案:

没有答案