Windows 服务器 2022
Apache 2.4.57 x64
httpd配置文件- 相关的
<Directory />
Options none
AllowOverride none
Require all denied
</Directory>
DirectoryIndex index.html
<Files ".ht*">
Require all denied
</Files>
httpd-vhosts.conf- 相关的
<VirtualHost *:443>
DocumentRoot "c:/path/to/public_html"
DirectoryIndex index.php
<Directory "c:/path/to/public_html">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
文件
c:/path/to/public_html/index.php
c:/path/to/public_html/.htaccess
.htaccess- 满的
RewriteEngine Off
那么RewriteEngine Off
https://www.example.com/供应index.php
那么RewriteEngine On
https://www.example.com/导致 403-Forbidden
我是否遗漏了一些明显的指令?
注意:即使https://www.example.com/index.php明确请求。
答案1
固定的!
<VirtualHost *:443>
DocumentRoot "c:/path/to/public_html"
## NEW
RewriteEngine On
DirectoryIndex index.php
<Directory "c:/path/to/public_html">
AllowOverride All
Require all granted
## NEW
Options +FollowSymlinks
</Directory>
</VirtualHost>
检查日志发现:
[rewrite:error] AH00670:选项 FollowSymLinks 和 SymLinksIfOwnerMatch 均已关闭,因此 RewriteRule 指令也被禁止,因为它具有类似的规避目录限制的能力
阅读手册重写规则揭示了:
要在此上下文中启用重写引擎,您需要设置“RewriteEngine On”并且必须启用“Options FollowSymLinks”。
面,接掌。