2017-03-22 24 views
0

我有一個WordPress的安裝,它有一個包含許多XML文件的目錄。直到今天上午 - 這些文件都可以通過瀏覽器訪問(我可以直接瀏覽它們)。但是現在 - 試圖直接從瀏覽器中調用它們會返回一個404錯誤。htaccess - 在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

如果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錯誤。