この問題は、Webサーバー構成で解決する必要があります。
リダイレクトしたい
ApacheHTTPDサーバー
Apacheを使用している場合は、www.nikunj.com / wikiにリダイレクトする目的で、wiki.nikunj.com用の2番目のVirtualHostを作成できます。
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;
}
URLをウィキに残したい。
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;
}
短いURLはどうですか?
このシナリオでは、短いURLを使用できます。
代わりに2つのルールが必要になります。1つは記事用(例:/ view / $ 1)、もう1つは他のindex.phpリンク用です。
ヒント: last
Nginxおよび[L]
Apache HTTPDでは、現在のルールが最後に実行されることを意味します。これにより、2つのルールが次々に実行されるのを回避できます。
ドキュメンテーション