首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个域的vhost的简单htaccess重定向

具有多个域的vhost的简单htaccess重定向
EN

Stack Overflow用户
提问于 2012-10-18 18:18:49
回答 3查看 85关注 0票数 0

我在一个网站上工作,有大约5或6个域,所有指向相同的主机和所有显示相同的网站。我知道我真正应该做的是让每个域重定向到一个,但是客户端不想这样做。

代码语言:javascript
运行
复制
xyz.com/abc -> xyz.com/def
aaa.com/abc -> aaa.com/def
bbb.com/abc -> bbb.com/def

其中,公因子是将abc映射到def。

目前我使用的是

代码语言:javascript
运行
复制
Redirect /abc http://xyz.com/def

但这显然是从任何域重定向到xyz.com,这不是我想要的。在不丢失当前域的情况下执行这些重定向的最简单/可靠的方法是什么?

干杯,约翰

EN

回答 3

Stack Overflow用户

发布于 2012-10-18 18:56:28

通过httpd.conf启用mod_rewrite和.htaccess,然后将以下代码放入DOCUMENT_ROOT目录下的.htaccess中:

代码语言:javascript
运行
复制
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?(xyz|aaa|bbb)\.com$ [NC]
RewriteRule ^abc/?$ http://xyz.com/def [L,R=302,NC]

在您对规则正常工作感到满意之后,将302更改为301,将其标记为"permanent redirect"

票数 2
EN

Stack Overflow用户

发布于 2012-10-19 04:27:12

这样如何:

代码语言:javascript
运行
复制
Redirect /abc /def

这将保留请求所针对的主机。

票数 0
EN

Stack Overflow用户

发布于 2012-10-19 21:49:25

看起来我只需要使用像这样的普通重写规则:

代码语言:javascript
运行
复制
RewriteRule ^science.*$ /applications/ [R=301,L]

= science/whatever -> /applications/
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12952367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档