如何进行URL重写

时间:2010-01-04 14:48:04

标签: url-rewriting apache2

我是httpd服务器的新手。我有一个迫切需要解决的问题。我的服务器实例正在centos box上运行。

如果请求以

的形式发送到我的服务器

http://sub-domain.domain.com


这应该转换为


http://domain.com/key/sub-domain


我在服务器上配置了很多虚拟主机。但这是一个很好的例子,我的想法已经不多了

任何建议:我该怎么办?

1 个答案:

答案 0 :(得分:4)

如果你使用apache

ServerName sub-domain.domain.com
RedirectMatch /(.*) http://domain.com/key/sub-domain/$1

从而

http://sub-domain.domain.com/a-page-i-want-to-see.html

将发送301重定向到

http://domain.com/key/sub-domain/a-page-i-want-to-see.html

如果您需要动态检测子域,则可能需要一些其他设置。

RewriteCond %{HTTP_HOST}是您需要的,但我不确定它的工作方式,您可能需要使用。

我确实为所有子域找到了通配符serverAlais。

ServerName domain.com
ServerAlias *.example.com

RewriteCond %{HTTP_HOST} ...