大家好,这可能是什么原因:
我在同一个网站托管和图片里面有一个与我的网站(Wordpress)无关的文件夹“壁纸”。如果我想访问它们,我会去website.com/wallpapers/myimage.jpg并且它有效!
但我注意到它现在不再起作用了,我在网站内看到了我的wordpress网站+错误404.
我试图修复这个禁用的少数插件等...但我应该在哪里看?可能是什么原因?也许是htaccess?
谢谢!
答案 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>