2011-11-03 25 views
0

我試圖建立一個基於symfony2的網站。一切正常,但在特定的服務器上,apache虛擬主機的設置方式爲&。symfony webroot上的.htaccess導致無限循環。使用vhost config進行內部遞歸&.htaccess

如果有人有一個線索,使其工作,而無需更改任何symfony代碼(因爲它必須在其他服務器上工作)。我可以修改的唯一東西是虛擬主機設置& .htaccess。

這裏是confs:

虛擬主機(子域):

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^name.domain.fr [NC] 
RewriteRule ^/(.*)$ /name/web/$1 [L] 

Symfony2中的.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ app.php [QSA,L] 
</IfModule> 

感謝您的幫助:)

回答

0

添加條件檢查看看它是否已經不在/ name目錄中。

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^name.domain.fr [NC] 
RewriteCond %{REQUEST_URI} !^/name/ 
RewriteRule ^/(.*)$ /name/$1 [L] 

乾杯,傑夫

+1

感謝您的回答。我剛剛編輯是因爲真正的行是'RewriteRule^/(。*)$/name/web/$ 1 [L]',所以我添加了'RewriteCond%{REQUEST_URI}!^/name/web /'。但它仍然不起作用。任何線索?謝謝 – choomz

+1

我再次:)經過一些測試,沒關係。你的規則是對的。非常感謝 ! – choomz

+0

沒問題plopoz。再想一想,如果它是正則表達式的一部分,你可能需要添加一些反斜槓。 \ /而不是隻是/ – jjwdesign