1

大家好,请问这是什么原因:

我在同一个虚拟主机和里面的图像中有一个与我的网站(Wordpress)无关的文件夹“壁纸”。如果我想访问它们,我会去 website.com/wallpapers/myimage.jpg 并且它有效!

但我注意到它不再起作用了,现在我在网站内看到我的 wordpress 网站 + 错误 404。

我试图修复这个禁用的几个插件等......但是我应该去哪里看?可能是什么原因?也许是htaccess?

谢谢!

4

2 回答 2

2

是的,我认为您对 .htaccess 的猜测是完全正确的。如果您在 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

与您相关的两行是;

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

他们所做的基本上是确保每个 url 请求都通过根目录中的 index.php 运行,除了任何文件或目录实际上作为单独的文件和目录存在于 Wordpress 安装之外(即你的壁纸目录)。所以首先我会确保你的 .htaccess 看起来像这样。

于 2012-12-17T10:05:56.450 回答
1

过去我需要做同样的事情,这让我发疯了,所以如果这可以帮助这就是我所做的。激活永久链接选项时,我在我的 wordpress 文件夹中创建了默认的 .htaccess wordpress,如下:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

由于某些原因...

我可以很好地访问http://example.com/phpinfo.php ,但是http://example.com/myfolder返回了 404,尽管(如果我是正确的)这行 RewriteCond %{REQUEST_FILENAME} !-d 应该允许我显示该文件夹中的内容,因为它存在并且具有正确的权限(用户:用户 chmoded 755)

在尝试了有关该主题的所有内容之后,我最终在我的文件夹“ /myfolder ”中创建了一个.htaccess

其中包含独特的以下行:

Options +Indexes

我终于得到了http://example.com/myfolder来回答响应 200 OK

I suppose this is not the best ever solution but it's the only one that worked for me and as I just need this to work for one or two folders, it did not need to be more adaptive / flexible

于 2014-11-19T12:10:13.673 回答