如何替换“破折号”带“下划线”在 IIRF 规则中?
我有一个网络应用程序,它根据子域提供图像。
我们想为我们的用户提供一个像这样的网址: http://{username}.domain.com/images/myimage.jpg
而不是我们以前使用的: http://www.reallylongdomainname.com/users/{username}/images/myimage.jpg
这使得网址更短并且更不易“窥探”。
因此,我设置了一个 IIRF .ini 文件来进行一些 url 重写,除了我们的一些用户文件夹有下划线之外,它工作得很好。据我所知,下划线不是域名中的有效字符(即使 IIS 支持它)。
我想知道如何在 $1
反向引用中进行查找和替换,以便像这样的网址:
http://some-user.domain.com/...< /code>
可以重写为:
/users/some_user/..
这是我的 IIRF 规则。
RewriteCond %{HTTP_HOST} ^(?!www)([^\.]+)\.domain\.com
RewriteRule ^/(.*)$ /users/*1/$1 [L,I]
感谢您的任何帮助。
I have a web app which serves images based on the subdomain.
We wanted to provide our users with a url like this:http://{username}.domain.com/images/myimage.jpg
Instead of what we used to have:http://www.reallylongdomainname.com/users/{username}/images/myimage.jpg
This makes the url shorter and less 'snoopable'.
So I set up an IIRF .ini file to do some url rewriting and it works great except for the fact that some of our users folders have an underscore. And from what I've read, underscore is not a valid character in a domain name (even though IIS supports it).
I want to know how I could do a find and replace in the $1
back reference so that a url like this:
http://some-user.domain.com/...
Could be rewritten to this:
/users/some_user/..
Here's my IIRF rule.
RewriteCond %{HTTP_HOST} ^(?!www)([^\.]+)\.domain\.com
RewriteRule ^/(.*)$ /users/*1/$1 [L,I]
Thanks for any help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您知道用户名中的破折号不超过 x:
它并不美观,但可以使用。
If you know there is no more than x dashes in the username:
It's not beautiful, but it works.