htaccess - 在xml文件上返回404错误?

时间:2017-03-22 19:41:32

标签: xml wordpress apache .htaccess

我安装了WordPress,其中包含一个包含许多XML文件的目录。直到今天早上 - 这些文件都可以通过浏览器访问(我可以直接浏览它们)。但现在 - 尝试直接从浏览器调用它们会返回404错误。

我很困惑,因为什么都不应该改变。我认为这很可能是一个.htaccess问题?

这是我的htaccess:

 <Files xmlrpc.php>
 <IfModule !mod_authz_core.c>
 order deny,allow
 deny from all
 allow from xx.xx.xx.xx
 allow from xx.xx.xx.xx
 </IfModule>
 <IfModule mod_authz_core.c>
 Require ip xx.xx.xx.xx xx.xx.xx.xx
 </IfModule>
 </Files>
 # END GOTMLS Patch to Block XMLRPC Access
 # 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

(注意 - 隐藏相关的IP地址)

我错过了什么?

1 个答案:

答案 0 :(得分:1)

如果显示404错误,则htaccess文件错误。 只需将htaccess代码从您的代码更改为我的代码。

如果您的文件位于www.xyz.com/foldername/等文件夹中 因此使用以下代码。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /foldername/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /foldername/index.php [L]
</IfModule>

# END WordPress

如果您的文件直接在www.xyz.com等服务器上 因此使用以下代码

# 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

主htaccess文件的代码,它位于主目录中,其中wp-config文件可用,另一个htaccess位于wp-content文件夹中。 在wp-cotent文件夹中创建另一个.htaccess文件并编写以下代码。

#<FilesMatch "\.(?i:php)$">
#  <IfModule !mod_authz_core.c>
#    Order allow,deny
#    Deny from all
#  </IfModule>
#  <IfModule mod_authz_core.c>
#    Require all denied
#  </IfModule>
#</FilesMatch>

在此之后检查你的wp-admin,它不会显示404错误。