如何使用 apache mod_rewrite 规则重定向到动态 URL(不是经典重定向)?

Posted

技术标签:

【中文标题】如何使用 apache mod_rewrite 规则重定向到动态 URL(不是经典重定向)?【英文标题】:How to redirect to a dynamic URL with apache mode_rewrite rules (not the classic redirection)? 【发布时间】:2020-01-22 16:50:19 【问题描述】:

我想使用 apache mod_rewrite 规则重定向到动态 URL,而不更改 URL 本身。

动态网址www.example.com/business/carwash

在上面的 url 中,'carwash' 部分是一个用户名,用于查找特定业务。 我想要这样的网址:carwash.example.com 被重定向以显示此 URL 的内容:www.example.com/business/carwash 不更改 URL(URL 仍然是 carwash.example.com )。

我尝试了以下代码:

RewriteCond %HTTP_HOST ^carwash.cityrakhsh.com

重写规则 ^(.*) http://example.com/business/carwash [P]

但它没有工作。 我该怎么做? 提前致谢。

【问题讨论】:

【参考方案1】:

子域,在本例中为 carwash,可以在重写规则中使用 %1 替换

RewriteCond %HTTP_HOST ^(.*).cityrakhsh.com$
RewriteRule ^(.*) "http://cityrakhsh.com/business/%1/" [P]

【讨论】:

以上是关于如何使用 apache mod_rewrite 规则重定向到动态 URL(不是经典重定向)?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 apache mod_rewrite 规则重定向到动态 URL(不是经典重定向)?

如何将 mod_rewrite 与 Apache -> mod_jk -> tomcat 设置一起使用?

如何在 apache 上用 mod_rewrite 重写我的 url?

使用 apache 的 mod_rewrite 来解析 SEO 友好的 URL

如何根据查询字符串在 apache mod_rewrite 中禁止 url?

apache mod_rewrite:如何根据其他目录中的文件存在为同一目录添加不同的重写规则?