用于基于域的重写的 IIRF 正则表达式

发布于 2024-12-14 12:53:22 字数 554 浏览 0 评论 0原文

我已经看到了大量基于子域的 URL 重写示例,但我正在尝试基于域名本身进行 URL 重写,特别是提供包含域名的子文件夹中的内容。

例如,我想要

http://www.site1.com/ sub/folders/long-html-filename.htm 被重写为 任何一个 /sites/www.site1.com/sub/folders/long-html-filename.htm 或者 http://www.masterdomain.com /sites/www.site1.com/sub/folders/long-html-filename.htm

我已经能够自己做很多重写正则表达式,但我在这方面遇到了障碍一。

谢谢!

I have seen a ton of examples for URL rewrites based on the subdomain, but I am trying to do URL rewrites based on the domain name itself, specifically serve content from a subfolder with the domain name in it.

For instance, I'd like

http://www.site1.com/sub/folders/long-html-filename.htm to be rewritten to
either
/sites/www.site1.com/sub/folders/long-html-filename.htm
or
http://www.masterdomain.com/sites/www.site1.com/sub/folders/long-html-filename.htm

I've been able to do a lot of the rewrite regex on my own, but I am hitting a brick wall on this one.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

去了角落 2024-12-21 12:53:23

您是否尝试过使用 %{HTTP_HOST} 来捕获主机名?也许这样的事情会起作用:

RewriteRule ^/(.*) /sites/%{HTTP_HOST}/$1

Have you tried using %{HTTP_HOST} to capture the hostname? Maybe something like this would work:

RewriteRule ^/(.*) /sites/%{HTTP_HOST}/$1
我的奇迹 2024-12-21 12:53:23

凯文 - 你很接近。 IIRF 作者帮我完成了剩下的事情:

RewriteRule ^/(?!sites/)(.*)$ /sites/%{HTTP_HOST}/$1

现在我只是想弄清楚如何将其与强制 WWW RedirectRule 结合起来。

另一个绊脚石......我有这个:

RewriteCond %{HTTP_HOST} ^(?!www)[^\.]+\.[^\.]+$ [I]
RedirectRule ^/(.*) http://www.%{HTTP_HOST}/$1 [R=301]

RewriteRule ^/(?!sites/)(.*)$ /sites/%{HTTP_HOST}/$1

但它似乎不起作用,我只是超时了。

Kevin - you were close. The IIRF author got me the rest of the way there:

RewriteRule ^/(?!sites/)(.*)$ /sites/%{HTTP_HOST}/$1

Now I am just trying to figure out how to combine that with a forced-WWW RedirectRule.

Another stumbling block...I have this:

RewriteCond %{HTTP_HOST} ^(?!www)[^\.]+\.[^\.]+$ [I]
RedirectRule ^/(.*) http://www.%{HTTP_HOST}/$1 [R=301]

RewriteRule ^/(?!sites/)(.*)$ /sites/%{HTTP_HOST}/$1

But it doesn't seem to be working, I am just getting a timeout.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文