我在尝试访问内部重写的url时遇到此错误,我不知道为什么或如何修复它:
[Sun Apr 01 10:XX:XX.042734 2018] [authz_core:error] [pid 20813] [client 84.XX.XX.90:16450] AH01630: client denied by server configuration: /dev/home.php
基本上,我正在尝试重写所有的html请求,所以当你例如尝试访问/dev/file.html,它将其重写为dev / file.php
我可以毫无问题地访问/dev/file.php,但是当我尝试访问/dev/file.html(应该指向.php文件)时,我收到403 Forbidden错误。
我尝试了几件事,我在Stackoverflow上找到了这个,以及各种博客,但没有任何帮助。 我当前的vhost conf看起来像这样:
<VirtualHost *:80>
ServerName www.example.com # My actual files contain the correct domain and not "example"
ServerAdmin admin@example.com
DocumentRoot /var/www/html
#Include /var/www/html/.htaccess
ServerAlias www.example.com
ServerAlias *.example.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
#AllowOverride None
Require all granted # since 2.4
</Directory>
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#Include conf-available/serve-cgi-bin.conf
# Redirects
Include /etc/apache2/redirects.conf # Doing all redirects/ rewrites here
</VirtualHost>
我的redirects.conf文件如下所示:
Options +FollowSymLinks
RewriteEngine on
Redirect 302 "/index.html" "http://example.com/maintenance.html"
Redirect 302 "/index" "http://example.com/maintenance.html"
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)\.html$ $1.php
我使用谷歌云上的虚拟实例托管网站,Ubuntu 16.04,我的Apache版本是2.4.18。
我非常感谢任何提示!我通常习惯于Node服务,所以apache中的conf东西对我来说很不寻常。
谢谢!