简体   繁体   中英

htaccess logic not working in 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?

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 >

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM