doukuai3822 2014-03-29 19:43
浏览 36
已采纳

htaccess逻辑在vhost中不起作用

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]

I have run a Debian server with Apache 2.2.

I have a system that routes all traffic through a file named page_loader.php.

When I run the above in a .htaccess file there are no problems, but as soon as I try to put it in the vhost file directly Apache fails to restart and just says FAIL but without anything in the log files.

Has anyone else had anything like this?

  • 写回答

1条回答 默认 最新

  • doufang8282 2014-03-29 23:59
    关注

    If you are putting that in your Apache config file directly, RewriteBase only works inside <directory> directive. If you don't do that it will fail to start.

    <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 >
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?