我正在尝试在我的虚拟主机中使用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。