2012-12-31 122 views
0

我在我的htaccess文件下面的代碼設置工作不適合我的Laravel 3安裝:的mod_rewrite刪除尾隨斜槓Laravel

# Removes trailing slashes (prevents SEO duplicate content issues) 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+)/$ $1 [L,R=301] 

# Enforce www 
RewriteCond %{HTTP_HOST} ^([0-9a-z-]+)\.([0-9a-z-]+)$ [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

# Remove index.php from base URL 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

它看起來一切都很好,直到第一個重寫條件訪問。

Navagating這個網址:

/information/ 

重定向我:

/home/xxx/Dropbox/Development/laravel/httpdocs/information 

所以最後的斜線被刪除,但它重定向到URL abolsute。

爲什麼這樣做?我如何解決它?

謝謝:)

回答

1

添加RewriteBase /(或基地無論URI應該是)以上所有規則。

發生了什麼事情是,mod_rewrite試圖猜測重寫規則的目標是URL路徑還是文件路徑,並且猜測它是一個文件路徑並附加了不正確的基本路徑。

+0

好電話! :)我完全錯過了:P – Nicekiwi