我在服务器上安装了wiki。假设我有一个域名www.nikunj.com
。
在此位置安装了wiki www.nikunj.com/wiki
。
现在我正在努力实现这一点,当任何用户输入wiki.nikunj.com
时,他/她将在www.nikunj.com/wiki
上看到我已安装的wiki。
答案 0 :(得分:2)
此问题应在您的网络服务器配置中解决。
如果您使用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语法更直观:
server {
server_name wiki.nikunj.com
rewrite ^ http://www.nikunj.com$request_uri? permanent;
}
你需要mod_rewrite和mod_proxy。然后,它会是这样的:
<VirtualHost *:80>
ServerName wiki.nikunj.com
RewriteEngine on
RewriteRule ^/(.*) http://www.nikunj.com/wiki/$1 [R,L,P]
</VirtualHost>
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,它描述了您可用的各种选择。