Apache Virtual Host RewriteRule to Index

时间:2016-10-06 01:30:07

标签: apache mod-rewrite

我正在尝试在我的虚拟主机中使用RewriteRule来发送任何请求到index.php。这就是我目前的.conf文件中的内容:

<VirtualHost *:80>
    ServerAdmin admin@site.com
    ServerName site.com
    ServerAlias www.site.com
    DocumentRoot /var/www/site
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . index.php [L]
</VirtualHost>

使用此设置,我收到以下错误:

  

错误请求

     

您的浏览器发送了此服务器无法理解的请求。

     

site.com上的Apache / 2.4.7(Ubuntu)服务器端口80

如果我删除以下行:

RewriteRule . index.php [L]

网站加载。

我尝试了以下也失败了:

RewriteRule ^ index.php [L]
RewriteRule ^. index.php [L]
RewriteRule . index.php
RewriteRule ^ index.php
RewriteRule "^" "index.php" [L]
RewriteRule "." "index.php"

和类似的组合

如何让我的VirtualHost发出任何请求转到index.php?

此外,我没有.htaccess文件,并且启用了mod_rewrite。

0 个答案:

没有答案