大家好,请问这是什么原因:
我在同一个虚拟主机和里面的图像中有一个与我的网站(Wordpress)无关的文件夹“壁纸”。如果我想访问它们,我会去 website.com/wallpapers/myimage.jpg 并且它有效!
但我注意到它不再起作用了,现在我在网站内看到我的 wordpress 网站 + 错误 404。
我试图修复这个禁用的几个插件等......但是我应该去哪里看?可能是什么原因?也许是htaccess?
谢谢!
是的,我认为您对 .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 看起来像这样。
过去我需要做同样的事情,这让我发疯了,所以如果这可以帮助这就是我所做的。激活永久链接选项时,我在我的 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