使用Apache虚拟主机和不同的端口阻止对wp-admin和wp-login.php的访问
我有一个运行WordPress的站点,在监听端口80( www.example.com )的虚拟主机中定义。 我想阻止访问/ wp-admin和wp-login.php的用户,但是当他们查看不同的端口(如www.example.com:8080/wp-admin或www.example.com:8080/wp-login.php 我添加了一些RewriteRules来显示一个404错误页面,当他们点击80端口的站点,并创build一个新的虚拟主机,同样的网站,在端口8080监听,如下所示: <VirtualHost 192.168.3.20:80> Options -Indexes +FollowSymlinks RewriteEngine on RewriteRule ^/wp-login.php /wp-content/themes/404.html [R=404,NC] RewriteRule ^/wp-admin$ /wp-content/themes/404.html [R=404,NC] DocumentRoot /var/www/html/wordpress ServerName www.example.com </VirtualHost> <VirtualHost 192.168.3.20:8080> DocumentRoot /var/www/html/wordpress ServerName www.example.com </VirtualHost> 当访问/ wp-admin和wp-login.php时,它很好的显示错误404。 当通过www.example.com:8080/wp-admin或www.example.com:8080/wp-login.php访问时,它会按照预期显示login页面,但在input凭证并按Enter键继续之后,将显示我在80端口为虚拟主机声明的错误404页面,这是我不想要的,经过很多testing,我无法避免它。 有没有人有如何解决它的想法? 也许我正在尝试一个错误的方法呢?