刚刚看到这篇文章是3年前写的,所以,也许它对某些人有用:(
首先,我假设你没有激活Multisite或WordPress MU,因为如果是这样,你不需要:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]
# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*\\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
您的代码有问题:
重写规则,如RewriteEngine
需要在标签内
<IfModule mod_rewrite.c>
ur rules
</IfModule>
您的代码有误
Order deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
</Files>
删除
Order deny,allow
Deny from all
添加以下内容
Allow from all
Satisfy Any
你不需要限制htaccess,它已经是默认值,所以删除这些行(同样,htaccess不需要
=""
):
# Protect the .htaccess
<files .htaccess="">
order allow,deny
deny from all
</files>
以及
<Files ~ “^.*\\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</Files>
此外,如果您仍希望上述功能发挥作用,则需要这样使用:
<Files ~ “^.*\\.([Hh][Tt][Aa])”>
Order Allow,Deny
satisfy all
</Files>
而不是阻止Include
# Block the include-only files.
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/js/tinymce/langs/.+\\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
用以下代码阻止整个wp admin文件夹在wp admin文件夹中创建htaccess文件:
order allow,deny
deny from all
allow from <your ip>
现在u说“为了安全起见,更改.htaccess后无法登录Wordpress网站”
order allow,deny
deny from all
that because those lines are missed placed (上述第2条)