(我知道不建议您通过晦涩难懂的方式进行安全保护)。
我试图掩盖我正在使用Wordpress的事实。这篇文章很有帮助,但仅涉及内容(分类)。我对发生以下情况感兴趣:
用户尝试
wp*
通过其浏览器访问任何带有子字符串的URL 。结果:重定向到404页面。
博客用户/管理员知道要登录,他们应该转到
http://example.com/blogin/
。结果: apache将它们重定向到
http://example.com/wp-admin/
。如果用户尝试直接
wp-admin
从其浏览器访问,他们将被发送到#1。结果:重定向到404页面。
到目前为止我所做的事情
我注意到对于WordPress的默认安装,我可以访问
wp*
WP安装的(相对)根目录中的任何文件。特别wp-settings.php
是有问题的,因为它提供了有关我的设置的信息。如果用户访问它,它将发出一些PHP错误并显示目录结构的一部分。我编辑了php.ini文件以将其display_errors
关闭。现在访问http://example.com/wp-settngs.php
将弹出一个空白页。这本身并不理想,因为它表明
wp-settings.php
存在。实际上,可以访问所有不同的wp*
文件(结果不同)。然后,将以下内容放入htaccess文件:RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F]
这很棒!任何带有的内容
wp*
都路由到我的自定义404页面。但是现在我无法访问我的管理页面。我试图将此行插入以上代码:中
RewriteRule ^blogin wp-admin [NC,R,L]
。原本应该是正确的,RewriteBase
但这没有用。我试图做一个:
<Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory>
希望我站点中的引荐来源网址(通过重写规则)能够访问wp-admin,但不能访问外部访问者。这也不起作用。apache抱怨您不能从htaccess使用此指令。
我已经阅读了Apache文档;从理论上我理解这些概念,但是我需要一些实际帮助。
编辑:我正在寻找使用.htaccess而不是httpd.conf的解决方案,因为我的特定设置使使用httpd.conf不一致。