2010-04-03 239 views
1

全部問候,更多HtAccess重寫規則

我需要幫助結合一些htaccess重寫,這些瘋狂的正則表達式擰我的頭。

所以我有一個文件夾結構是這樣的:

 /www/mysite.com/page/member/friends.php 
    /www/mysite.com/page/video/videos.php 
    /www/mysite.com/page/messages/inbox.php 

的網址都會改寫成這樣:

 mysite.com/member/friends.php 
    mysite.com/video/videos.php 
    mysite.com/messages/inbox.php 

(注意/網頁/文件夾是隱藏在URL,但我保持在服務器上以獲得更好的文件組織)

重寫規則看起來像這樣:(我是新的,所以如果他們有瑕疵,那麼正確)

現在
 RewriteRule ^video/(.*)$ /page/video/$1 [NC] 
    RewriteRule ^member/(.*)$ /page/member/$1 [NC] 
    RewriteRule ^messages/(.*)$ /page/messages/$1 [NC] 

,我也要做一個完全不同的改寫到一個名爲lobby.php成員文件夾內的文件:

原重寫後,樣品的URL看起來像:

 mysite.com/member/lobby.php?member=pws5068 

我需要一個新的重寫,使它看起來像這樣:

 mysite.com/pws5068 

謝謝你在這裏與我的超級長的問題軸承。我怎樣才能做到這一點?

編輯:爲了減少混淆,我將大堂上移到一個目錄/ /本身。

+0

你確定mysite.com/member/lobby.php?member=pws5068變mysite.com/pws5068而不是mysite.com/member/pws5068? – 2010-04-03 20:43:30

+0

現在它只成爲mysite.com/member/lobby.php?member=pws5068,但我的目標是成爲mysite.com/pws5068。這個組織很差,所以我很抱歉。我正在將一個目錄移動到只是/ page/ – pws5068 2010-04-03 20:45:39

回答

2

由於您訪問了您的成員文件夾中的2個文件,因此您應該將它們區分到您的url結構中。例如:

RewriteRule ^member/friends/(.*)$ /page/member/friends.php?id=$1 [NC] 
RewriteRule ^member/(.*)$ /page/member/lobby.php?id=$1 [NC] 

更新

根據您的編輯,現在應該是

RewriteRule ^member/friends/(.*)$ /page/member/friends.php?id=$1 [NC] 
RewriteRule ^member/(.*)$ /page/lobby.php?id=$1 [NC] 
+0

實際上,我的成員文件夾中有更多文件。我打算將大廳搬到它外面,以減少混淆,因爲這是唯一的情況。所以這將是/page/lobby.php和/page/member/friends.php – pws5068 2010-04-03 20:43:25

+0

我糾正了我的答案,我已經不正確地理解了一些東西。 – pixeline 2010-04-03 20:45:34