2014-03-29 57 views
-1
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服務器。htaccess邏輯不能在vhost中工作

我有一個系統,通過名爲 page_loader.php的文件路由所有流量。

當我運行上面的的.htaccess文件不存在任何問題,但只要我試圖把它的虛擬主機文件直接Apache的重新啓動失敗,只是說:FAIL,但沒有在日誌文件中的任何。

有沒有其他人有這樣的事情?

+0

檢查該文件。正確保存?什麼在VHost? –

+1

當.htaccess出現錯誤時,瀏覽器在訪問頁面時顯示500服務器錯誤,而不是使用該錯誤。也許你在apache conf中有其他問題。檢查apache error.log。檢查是否啓用了mod_rewrite。 – gabrieloliveira

+0

gabrieloliveira是對的,問題不在於你的htaccess。 – Drahcir

回答

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 > 
+0

謝謝你正是這個問題! – John