htaccess逻辑在vhost中不起作用

时间:2014-03-29 19:43:01

标签: php apache .htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf|css|html|js|ico|pdf)$
RewriteCond %{REQUEST_URI} !^/page_loader.php$
RewriteCond %{REQUEST_URI} !^/page_loader.php/
RewriteRule ^(.*)$ page_loader.php/$1?%{QUERY_STRING} [L]

我用Apache 2.2运行了Debian服务器。

我有一个系统通过名为 page_loader.php 的文件路由所有流量。

当我在 .htaccess 文件中运行上面的内容时,没有任何问题,但是一旦我尝试将其直接放在vhost文件中,Apache就无法重启,只是说{{1}但是日志文件中没有任何内容。

还有其他人有这样的事吗?

1 个答案:

答案 0 :(得分:1)

如果您直接将它放在Apache配置文件中,RewriteBase仅适用于<directory>指令。如果你不这样做,它将无法启动。

<Directory "/var/www/path/to/doc/root">
       RewriteEngine On
       RewriteBase /
       RewriteCond %{REQUEST_URI} !\.(gif|jpg|png|swf|css|html|js|ico|pdf)$
       RewriteCond %{REQUEST_URI} !^/page_loader.php$
       RewriteCond %{REQUEST_URI} !^/page_loader.php/
       RewriteRule ^(.*)$ page_loader.php/$1?%{QUERY_STRING} [L]
</Directory >