我有一個基於子域的圖像服務。如何在IIRF規則中用'下劃線'代替'短劃線'?
我們希望我們的用戶提供這樣的網址: http://{username}.domain.com/images/myimage.jpg
取而代之的是我們曾經有過: http://www.reallylongdomainname.com/users/{username}/images/myimage.jpg
這使得URL更短,少「探聽」。
因此,我設置了一個IIRF .ini文件來做一些URL重寫,除了一些用戶文件夾有一個下劃線之外,它工作得很好。從我讀過的內容來看,下劃線不是域名中的有效字符(即使IIS支持它)。
我想知道我怎麼可以做一個查找和在$1
反向引用替換所以,像這樣的網址:
http://some-user.domain.com/...
可以改寫這個:
/users/some_user/..
這是我的IIRF規則。
RewriteCond %{HTTP_HOST} ^(?!www)([^\.]+)\.domain\.com
RewriteRule ^/(.*)$ /users/*1/$1 [L,I]
感謝您的任何幫助。
是否有用戶在他們的用戶名中有短劃線(所以正確的重寫URL應該是/ users/some-user /)? – pkaeding 2010-06-11 18:54:17
不,他們沒有。我正在處理一個具有明確定義的目錄結構的遺留系統。 – jessegavin 2010-06-11 18:58:28