如果直接访问Wordpress网站显示文件夹+图像的404页面?

时间:2012-12-17 09:39:55

标签: wordpress .htaccess

大家好,这可能是什么原因:

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

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

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

谢谢!

2 个答案:

答案 0 :(得分: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请求都通过root 中的index.php运行,除了任何文件或目录实际上作为单独的文件和目录存在于Wordpress安装之外(即你的壁纸目录)。首先,我要确保你的.htaccess看起来像这样。

答案 1 :(得分: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)

在尝试了我能找到的所有内容之后,我最终在我的文件夹中创建了 .htaccess &#34; / myfolder &#34;

其中包含唯一的以下行:

Options +Indexes

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

我认为这不是有史以来最好的解决方案,但它是唯一适用于我的解决方案,因为我只需要将其用于一个或两个文件夹,它不需要更具适应性/灵活性< / p>