如何将wiki.domain.com重定向到www.domain.com/wiki?

时间:2013-01-16 15:32:40

标签: dns domain-name

我在服务器上安装了wiki。假设我有一个域名www.nikunj.com

在此位置安装了wiki www.nikunj.com/wiki

现在我正在努力实现这一点,当任何用户输入wiki.nikunj.com时,他/她将在www.nikunj.com/wiki上看到我已安装的wiki。

2 个答案:

答案 0 :(得分:2)

此问题应在您的网络服务器配置中解决。

我想重定向

Apache HTTPD服务器

如果您使用Apache,则可以为wiki.nikunj.com创建第二个VirtualHost,目的是重定向到www.nikunj.com/wiki。

使用mod_rewrite:

<VirtualHost *:80>
    ServerName wiki.nikunj.com
    RewriteEngine on
    RewriteRule ^/(.*) http://www.nikunj.com/wiki/$1 [R,L]
</VirtualHost>

使用mod_alias:

<VirtualHost *:80>
    ServerName wiki.nikunj.com
    RedirectMatch ^/(.*) http://www.nikunj.com/wiki/$1
</VirtualHost>

Nginx的

在这种情况下,Nginx语法更直观:

server {
    server_name wiki.nikunj.com
    rewrite ^ http://www.nikunj.com$request_uri? permanent;
}

我想将网址保留在wiki中。

的Apache

你需要mod_rewrite和mod_proxy。然后,它会是这样的:

<VirtualHost *:80>
    ServerName wiki.nikunj.com
    RewriteEngine on
    RewriteRule ^/(.*) http://www.nikunj.com/wiki/$1 [R,L,P]
</VirtualHost>

Nginx的

server {
    server_name wiki.nikunj.com
    proxy_pass http://www.nikunj.com/wiki;
}

短网址怎么样?

您可以在此方案中使用短网址。

你需要两个规则而不是一个,一个用于文章(例如/ view / $ 1),一个用于另一个index.php链接。

提示: last在Nginx中,[L]在Apache HTTPD中表示当前规则是最后执行的规则。这样可以避免两个规则一个接一个地执行。

文档

答案 1 :(得分:1)

您需要阅读的页面(假设您正在使用“mediawiki”)是this one,它描述了您可用的各种选择。