我有一个基于子域提供图像的网络应用程序。
我们想为我们的用户提供这样的网址:
http://{username}.domain.com/images/myimage.jpg
而不是我们曾经拥有的:
http://www.reallylongdomainname.com/users/{username}/images/myimage.jpg
这使得 url 更短,更不容易被窥探。
所以我设置了一个 IIRF .ini 文件来进行一些 url 重写,它工作得很好,除了我们的一些用户文件夹有下划线。根据我的阅读,下划线不是域名中的有效字符(即使 IIS 支持它)。
我想知道如何在$1
反向引用中进行查找和替换,以便这样的 url:
http://some-user.domain.com/...
可以改写成这样:
/users/some_user/..
这是我的 IIRF 规则。
RewriteCond %{HTTP_HOST} ^(?!www)([^\.]+)\.domain\.com
RewriteRule ^/(.*)$ /users/*1/$1 [L,I]
谢谢你的帮助。