因此,我在家用服務器(Ubuntu 9.1)上設置了SVN,並希望能夠立即查看對我的CodeIgniter應用程序所做的任何更改。RewriteRules組合上的無限循環
因此,我的工作副本居住在/ home/myname/environments/development/appname。
我的虛擬主機是在dev.appname.myname.ca訪問,並且配置是這樣的:
DocumentRoot /home/myname/environments/development/
ServerName dev.myname.ca
ServerAlias dev.*.myname.ca
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.* [NC]
RewriteCond %{HTTP_HOST} ^dev.([^\.]+)\.myname\.ca
RewriteCond /home/myname/environments/development/%1/trunk/ -d
RewriteRule ^(.*) /%1/trunk/public/$1
所以,要dev.appname.myname.ca將指向到/ home/MYNAME /環境/開發/應用程序的名字/主幹/公衆。
現在,這是一個笨的應用程序,我需要所有的請求從公共/重定向到公共/ index.php文件,所以在公共.htaccess文件/如下:
RewriteEngine On
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php/$1 [L]
我有這個部分在.htaccess文件中,因爲在現場製作網站上,我將無法訪問服務器配置,因此我需要重寫它。
現在的問題是,我得到一個重定向循環,最終出現500錯誤。
從/var/log/apache2/error.log:
redirected from r->uri = /appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/appname/trunk/public/index.php/
我怎樣才能將請求重定向到適當的公共/目錄(在這種情況下,/家庭/ MYNAME /環境/開發/應用程序的名字/ trunk/publc),然後將所有請求從public/public/index.php?
我知道這是一個冗長的問題 - 感謝您的幫助。 :)
如果你這樣笨不會有任何效果。[L]標誌表示它將重定向到index.php,然後不再重定向。 – 2010-01-20 09:08:26