Windows11下Wamp64本地Ajax跨同层级目录请求报403错误求助
解决Wamp64下Ajax跨目录请求403 Forbidden(AH01797)问题
针对你遇到的本地域名tvcdev.local下,Ajax请求同层级其他目录PHP脚本返回403、Apache日志报AH01797的问题,试试以下几个排查方向:
检查Apache目录权限配置
可能httpd.conf里对/php/inc这类子目录有单独的访问限制,或者目录下藏了.htaccess文件拒绝请求:- 打开httpd.conf,搜索
<Directory>块,找到对应/php目录的配置,确保设置成:<Directory "D:/wamp64/www/php"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> - 去
/php/inc、/php/main目录里看看有没有.htaccess文件,有的话直接删掉,或者把里面的Deny from all这类规则改成Allow from all。
- 打开httpd.conf,搜索
核对虚拟主机根目录配置
确认httpd-vhosts.conf里的DocumentRoot和对应的<Directory>块路径正确,要覆盖到所有子目录:<VirtualHost *:80> ServerName tvcdev.local DocumentRoot "D:/wamp64/www/你的项目根目录" <Directory "D:/wamp64/www/你的项目根目录"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>要是
/php目录在项目根目录下,必须保证VirtualHost的<Directory>规则能覆盖到它,或者单独给/php加个<Directory>配置。启用mod_access_compat模块
老的Allow/Deny规则和新的Require规则可能冲突,打开Wamp管理器,找到Apache->Apache modules,勾选access_compat模块启用,之后重启Apache。如果之前有旧的访问规则,尽量统一成Require语法避免冲突。重启Apache+清浏览器缓存
改完配置一定要重启Wamp的Apache服务,不然配置不生效。同时清一下浏览器缓存,别让旧的缓存请求干扰排查。检查Windows文件系统权限
虽然Windows下权限问题不多,但还是确认下/php/inc等目录的权限:右键目录→属性→安全→编辑,给Wamp的Apache服务用户(一般是SYSTEM或当前登录用户)加上读取和执行权限。
内容的提问来源于stack exchange,提问作者disklos
相关产品推荐
相关产品推荐

