htaccess 子域重定向与最后一个 url 参数

发布于 2024-07-27 12:47:11 字数 492 浏览 2 评论 0原文

我想编写一个 .htaccess 文件,用于将我的子域和 URL 的最后一个变量重定向到新位置。 这是我想做的:

http(s)://abc.example.com/books

我希望我的内部 URL 如下:

http://example.com/?name=abc&type=books

我已经让子域重定向正常工作,但我无法使用 URL 最后部分中的变量来执行子域。

我怎样才能做到这一点?

I want to write a .htaccess file for redirecting my subdomains and URL's last variable to a new location. Here is what I want to do:

http(s)://abc.example.com/books

I want my internal URL to be like:

http://example.com/?name=abc&type=books

I have already gotten the subdomain redirect to work but I am not able to do subdomain with variable in last part of URL.

How can I accomplish this?

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

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

发布评论

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

评论(2

本宫微胖 2024-08-03 12:47:11

这应该可以满足您的要求:

RewriteCond %{HTTP_HOST} ^(.+).example.com
RewriteRule ^(.*)% http://example.com/?name=%1&type=$1 [R,L]

“%1”表示使用上面的 RewriteCond 中的第一个捕获组。

This should do what you want:

RewriteCond %{HTTP_HOST} ^(.+).example.com
RewriteRule ^(.*)% http://example.com/?name=%1&type=$1 [R,L]

The "%1" means use the first capture group from the RewriteCond above.

探春 2024-08-03 12:47:11
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com
RewriteRule ^([^/]*)$ http://example.com/?name=%1&type=$1 [R,L]

"%1" 表示使用 RewriteCond 中的第一个捕获组,而 $1 是规则本身中的第一个捕获组。

在您的示例中,%1 将是“abc”,$1 将是“book”

[^/]* 表示“匹配每个字符不是斜线,0次或多次”

RewriteCond %{HTTP_HOST} ^(.+)\.example\.com
RewriteRule ^([^/]*)$ http://example.com/?name=%1&type=$1 [R,L]

The "%1" means use the first capture group from the RewriteCond, while $1 is the first capturing group in the rule itself.

In your example %1 will be "abc" and $1 will be "book"

[^/]* means "match every character not being a slash, 0 or more times"

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