无法访问与WordPress安装相同级别的文件夹

时间:2018-11-14 作者:Qu4k3

我有以下结构

www/
  .htaccess
  /website1
  /website2
  /uploads/foo.pdf
  /websiteWP
    .htaccess
.htacces 根目录(www/.htaccess)

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www.)?foo.com$

RewriteCond %{REQUEST_URI} !^/website1/
RewriteCond %{REQUEST_URI} !^/website2/
RewriteCond %{REQUEST_URI} !^/uploads/
RewriteCond %{REQUEST_URI} !^/websiteWP/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /websiteWP/$1

RewriteCond %{HTTP_HOST} ^(www.)?foo.com$
RewriteRule ^(/)?$ websiteWP/index.php [L] 
</IfModule>
.htacces 在wordpress中安装(www/websiteWP/.htaccess)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
在Wordpress中,单击链接https://www.foo.com/uploads/some-pdf.pdf 将导致无限量加载页面,试图加载内容(这种反应是由于主题,我想其他人可以有404),或者有时将半个wordpress与半个\'quot;嵌入的“;远程页面。

但是,从网站外部访问pdf(粘贴在搜索框中)将起作用。

Note:

Wordpress URL:https://www.foo.com/websiteWP

网站URL:https://www.foo.com

找不到的故障.htaccess.

已检查stackoverflow和wordpress stackexchange中的所有可用线程。

1 个回复
最合适的回答,由SO网友:MrWhite 整理而成

现在还不清楚.htaccess 您发布的文件为什么无法访问WordPress安装之外的文件/文件夹(在/websiteWP 子目录)。事实上,您不应该为了访问物理文件而添加特定的异常,因为这些指令不应该应用于物理文件。

但是,您的.htaccess 文件配置错误。。。

如果WordPress安装在/websiteWP 目录,然后/websiteWP/.htaccess 文件(在WordPress安装过程中)不正确,因为它正在将所有请求路由到/index.php - 这就是index.php 文档根目录中的文件(我假设它是父目录),而不是WordPress front controller,它应该在同一目录中,即。/websiteWP/index.php).

然而,我认为/index.php (在文档根目录中)不存在(否则您的WordPress站点将无法工作)。这个.htaccess 根目录中的指令.htaccess 文件然后将请求重写回/websiteWP/index.php WordPress前控制器!这是额外的工作,没有必要。

您应该更改/websiteWP/.htaccess 要读取的文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>
注意:我已删除RewriteBase 指令,并删除了RewriteRule 替代,更改/index.php (根相对)到index.php (相对)。

然后,根.htaccess 根本不需要文件。

结束

相关推荐

Wp-login.php?reDirect_to=HTTPS问题

wp登录。php?redirect\\u to=https问题如果我在错误的地方发帖,请原谅我,但我在这里是想看看你是否能在你的时间里帮我几分钟。问题是,一个网站在wp登录时显示出持续的内部错误。php。我能够登录并访问前端,没有任何困难。我尝试过调试,但错误没有显示在任何页面上。我测试了主题、插件等,etcI检查了htaccess文件是否存在损坏(没有损坏),我将htaccess文件设置为调试和显示,但没有显示任何内容。我确实检查了服务器端的调试文件,它显示了一个插件的一些错误,当我停用该插件时,内部错