2010-05-31 97 views
0

我只能找到mod重寫示例/教程查詢的,所以有人可以幫助我這個。mod改寫目錄縮短

我想這

http://website.tld/Folder1/Folder2/Folder3/Folder4/Folder5/File.exten 

改造成

http://website.tld/Folder4/File.exten 

Folder4和Folder5多個目錄,而文件夾1-3保持不變。 另外File.exten也應該在重寫中改變。 謝謝。

+0

如果用戶只是要求/Folder4/File.exten,你怎麼來弄清楚Folder5的價值? – grossvogel 2010-05-31 21:59:48

+0

我會覺得,該文件夾總是相同的。如果不是這樣,那麼選擇這種結構會有更復雜的正則表達式。 – 2ndkauboy 2010-05-31 22:01:22

回答

1

我會用這樣的:

RewriteRule ^([^/]+)/([^/]+)$ Folder1/Folder2/Folder3/$1/Folder5/$2 [QSA,NC] 

([^/]+)是因爲^(.*)/(.*)$更好地將匹配http://website.tld/somedir/somedir2/somedir3/

1

這應該工作:

RewriteRule ^(.*)/(.*)$ Folder1/Folder2/Folder3/$1/Folder5/$2 [QSA,NC] 
+0

如果「Folder5」並不總是在重寫fil路徑中,則可以將其忽略。只要你在查詢中使用諸如「Folder4/Folder5」之類的東西,重寫就可以讓你訪問該文件夾。因此我在我的正則表達式中使用(。*)而不是([^ /] +)。 – 2ndkauboy 2010-05-31 22:12:58