2011-07-20 49 views
2

試圖通過.htaccess叢林來定位自己,現在我已經將我的重寫問題敘述爲一個 - 在進入頁面/輸入一個沒有這個地址的地址。.htaccess - 默認添加語言子目錄「sv /」(重定向)

例如:訪客類型mysite.com/kontakt。這應該將它們轉換爲網站的默認語言,即mysite.com/sv/kontakt。或者,只需輸入mysite.com應該帶他/她到mysite.com/sv/

我正在使用MAMP在本地開發此站點,並且該站點位於子目錄中,這裏是棘手的部分......如何在.htaccess文件中對此進行排序?

使用當前代碼:

RewriteBase /mysite/ 
RewriteCond %{REQUEST_URI} !^(sv|en) 
RewriteRule ^(.*)$ sv/$1 [L,R=301] 

而這需要我從localhost/mysite/localhost/sv/。不完全正確。

回答

3

試試這個:

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase /mysite/ 

RewriteRule ^(?!(?:sv|en)/)(.*)$ sv/$1 [R=301,L] 
  1. 這需要放入.htaccess文件到/mysite的/文件夾。

  2. 如果訪問不localhost/mysite/sv斜線,該規則將因爲它期望的語言部分(sven)之後,將斜線/它重定向到localhost/mysite/sv/sv

P.S. 並着眼於建立一個虛擬主機 - 那麼將通過http://localhost/mysite/sv/kontakt訪問您的網站(我敢肯定你會同意,http://mysite.dev/sv/kontakt聽起來並且看起來更好),這樣的「棘手的部分」會少得多(如果根本沒有) )。

+0

它的工作原理!非常感謝LazyOne!是的,我應該考慮設置VirtualHost,但對於本週的客戶端展示,我需要讓它在子目錄中工作,因爲實時站點也會使用該結構。 –