2011-06-28 69 views
1

我的htaccess文件出現問題。該文件的最後部分應該將 filip.novotny.je重定向到/subdom/filip/。 當URL以斜線結尾時,一切都很好,但當它沒有時,它會在地址欄中顯示醜陋的子域目錄。有誰知道爲什麼會這樣?.htaccess子域名到目錄:尾隨斜線的問題

自己動手試一下:with X without斜線

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^www.novotny.je$ [NC] 
RewriteRule ^(.*)$ http://novotny.je/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^www.filip.novotny.je$ [NC] 
RewriteRule ^(.*)$ http://filip.novotny.je/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} ^novotny.je$ [nc] 
RewriteRule ^(.*)$ http://filip.novotny.je/$1 [r=301] 

# cele domeny (aliasy) 
# RewriteCond %{REQUEST_URI} !^/domains/ 
# RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ 
# RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d 
# RewriteRule (.*) /domains/%2/$1 [L] 

# subdomeny (s nebo bez www na zacatku) 
RewriteCond %{REQUEST_URI} !^/subdom/ 
RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$ 
RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d 
RewriteRule (.*) /subdom/%2/$1 [L] 

回答

0

只需添加一個重寫規則每個URL後添加斜槓。類似於

RewriteCond %{REQUEST_URI} ^([^+?&]+[^/])$ 
RewriteRule ^([^+?]+[^/])$ $1/ [R,L] 

在您給出的所有規則之前添加此項。這將轉換所有網址a.com/ba.com/b/

1

我最近有一個非常類似的問題,但在IIS7。這是我的決議,轉換爲.htaccess語法。我希望這個對你有用。

RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^(.+[^/])$ $1/ [R] 

基本上,條件是該請求是一個目錄和重寫而不尾隨斜線和輸出與結尾的斜線的所有請求相匹配。