2014-09-29 88 views
0
<Directory /> 
     Options FollowSymLinks 
     AllowOverride None 
     Require all denied 
</Directory> 

<Directory /usr/share> 
     AllowOverride None 
     Require all granted 
</Directory> 

<Directory /var/www/> 
     Options Indexes FollowSymLinks 
     AllowOverride None 
     Require all granted 
</Directory> 

<Directory /var/www/html/portal> 
     Options +SymLinksIfOwnerMatch 
     RewriteEngine On 
     RewriteCond %{REQUEST_URI} !(/$:\.) 
     RewriteRule (.*) %{REQUEST_URI}/ [R=301,L] 
     RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteCond %{REQUEST_FILENAME} !-d 
     RewriteRule ^(.*)$ dashboard.php?url=$1 [L] 
</Directory> 

最後目錄定義導致無限循環,/由鉻觸發重定向循環錯誤之前附加到URL大約10倍。htaccess的無限循環,追加/到URL直到重定向循環

我不知道爲什麼會發生這種情況,因爲我在另一臺服務器上使用了相同的設置,並且它工作正常。這有什麼不對嗎?我所要做的只是在請求的URL後追加一個/(如果其中一個不存在)。

任何想法,爲什麼這是循環?

回答

1

嘗試修改此行:

RewriteCond %{REQUEST_URI} !(/$:\.) 

要這樣:

+0

謝謝!這是有效的,你會介意解釋一下這個改變到什麼程度? – jskidd3 2014-09-29 11:05:58

+0

@ jskidd3我認爲關鍵問題是您使用冒號而不是垂直線。看看我和你的。看起來像是我的錯字。 – JakeGould 2014-09-29 12:14:59

+0

啊,是的,這是有道理的,但你也改變了斜線和其他字符的順序,這會有什麼不同,或者它只是管道錯字? – jskidd3 2014-09-29 12:29:09