当htaccess存在时,wordpress站点忽略子目录

时间:2013-08-13 17:37:21

标签: wordpress .htaccess directory subdirectory

首先,我没有设置我目前正在处理的网站,而且我对wordpress设置不是很熟悉。我在他们的网站上被要求添加一个管理部分到这个使用Wordpress配置的网站。如果我添加一个子目录,我可以通过网络访问子目录就好了。当我将.htaccess添加到该子目录以用于Auth目的时,问题就出现了。当我这样做,并尝试访问子目录时,它会错误到“找不到页面”。

有人可以帮忙吗?我假设它是下面提供的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]
</IfModule>

# END WordPress

<小时/> 的更新

当子目录中的.htaccess为空时,我可以通过网络访问子目录就好了。 子目录中的.htaccess(填写时)如下:

AuthType Basic
AuthName "Sphere"
AuthUserFile "/path/to/htpasswd"
require valid-user

2 个答案:

答案 0 :(得分:1)

我刚刚根据您的问题测试了一个设置。以下是我在帖子中收集的层次结构示例:

public_html/ (all WP install files here)
public_html/admin/ (here I created a new folder similar to your question)
public_html/admin/index.php (test file - just echos a line of text)
public_html/admin/.htaccess (currently blank)

因此,WP根中产生的新子目录中的.htaccess是空白的。我不确定那里会有什么样的认证。如果我访问&#34; website / admin /&#34; - 测试线回声很好。我没有看到任何404。

您是否可以提供更多细节,以便我可以尝试更好地复制您所看到的问题?

答案 1 :(得分:1)

在别处找到我的问题的解决方案。编辑根.htaccess(用于wordpress)以匹配下面的那个应修复任何遇到此问题的人:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/NameOf_Directory_ToAllow/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/NameOf_AdditionalDirectory_ToAllow/(.*)$ [OR]
RewriteRule ^.*$ - [L]
</IfModule>

<IfModule mod_rewrite.c>
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress