Apache RewriteEngine On导致403错误

Jez*_*z D 9 linux apache .htaccess mod-rewrite centos6

我有一个运行带有Apaches 2.2.x的Centos 6.6的Linux机箱.由于某些未知原因,打开重写引擎会导致403错误(无论我是否添加重写规则,都会发生这种情况).

我花了几个小时研究这个并根据我在许多地方找到的建议对我的配置进行了更改,但仍然无处可去.

目前在我的.htaccess中我有这个:

<IfModule mod_rewrite.c>  
Options +FollowSymLinks  
RewriteEngine On  
</IfModule>
Run Code Online (Sandbox Code Playgroud)

在虚拟主机的指令中,我有:

DocumentRoot /var/www/html/example.uk  
<Directory /var/www/html/example.uk>  
Options Indexes FollowSymLinks MultiViews  
AllowOverride All
Order allow,deny
allow from all
</Directory>
ServerName example.uk  
ServerAlias www.example.uk
Run Code Online (Sandbox Code Playgroud)

(这似乎适用于Debian盒子,但不适用于我的Centos机器.)

在我的httpd.conf中,我已经改变了

AllowOverride无

AllowOverride All

我的httpd.conf也包含 LoadModule rewrite_module modules/mod_rewrite.so

错误日志说:

选项FollowSymLinks或SymLinksIfOwnerMatch关闭意味着禁止使用RewriteRule指令:/var/www/html/example.uk

现在,我之前已将SymLinksIfOwnerMatch添加到指令中,但它没有解决问题.

我跟着这个,所有人似乎都应该这样做.

Pan*_*ack 1

您应该从 htaccess 中删除此行

Options +FollowSymLinks
Run Code Online (Sandbox Code Playgroud)

您已将其包含在 apache vhost 文件中。另外,如果您要打开 mod_rewrite,则应该添加一条规则,否则没有必要打开它。