Apache2:AH01630客户端在重写后被服务器配置拒绝

时间:2018-04-01 10:51:50

标签: php apache mod-rewrite ubuntu-16.04 lamp

我在尝试访问内部重写的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东西对我来说很不寻常。

谢谢!

0 个答案:

没有答案