首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache FilesMatch (全局配置)优先于本地.htaccess

Apache FilesMatch (全局配置)优先于本地.htaccess
EN

Server Fault用户
提问于 2020-12-29 19:47:01
回答 1查看 327关注 0票数 1

我想保护我的服务器中的所有Wordpress管理界面(wp-login.php/wp)。为此,我希望在到达真正的WordPress登录页面之前,在Apache中创建一个全局配置,请求一个固定的用户/密码(HTTP身份验证)。这将避免来自密码扫描机器人的PHP超载。

代码语言:javascript
复制
<FilesMatch "wp-login.php">
 AuthUserFile /etc/wordpress.passwd
 AuthName "TYPE USER wp AND PASSWORD wp"
 AuthType Basic
 require valid-user
</FilesMatch>

工作时,任何名为wp-login.php的文件都会询问密码。

但是当我在Wordpress站点上运行时,它的.htaccess比全局配置具有某种“优先级”。当我访问wp-login.php时,我只收到一个404错误。如果我删除/重命名.htaccess,FilesMatch可以工作,但我失去了“路径掩码”功能,这是必要的。

Wordpress .htaccess是:

代码语言:javascript
复制
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

我正在寻找一种使FilesMatch指令优先于.htaccess (重写模块)的方法:询问密码,而不是重写URL (提供404)。

有什么想法吗?

EN

回答 1

Server Fault用户

发布于 2021-01-05 14:49:48

解决了

Wordpress .htaccess重写、401和403返回代码使用的所有内容,包括ErrorDocument指令。我为ErrorDocument提供了个性化的cPanel文件(默认为cPanel服务器)。因此,它不需要密码,而是重写HTTP头,询问密码,同时显示404错误页面,这让web浏览器抓狂。

为了解决这个问题,我强制使用默认的ErrorDocument消息:

代码语言:javascript
复制
ErrorDocument 401 default
ErrorDocument 403 default
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1047969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档