ドメイントップから特定ページに転送
提供:あわ自由帳
このサイトは、ドメイントップにページは存在しません。すべてサブディレクトに、コンテンツが存在します。トップドメインにアクセスがあった時と、存在しないディレクトリ、ファイルにアクセスが有った場合に備えた設定について書いておきます。
.htaccessの設定
下記の設定は、ファイルが存在しない場合、/Wiki/[ファイル名]ページが表示すます。
「http://sudachi.jp/AAAAAAAAAAAAA」は「http://sudachi.jp/wiki/AAAAAAAAAAAAA」に転送されます。
.htaccessの作成
このサイトの場合、「ドメインのみの場合、Wikiトップページ表示」が機能してないように思われます。
[root@host3 ~]# vi /var/www/html/.htaccess DirectoryIndex index.php RewriteEngine On RewriteBase / # ファイルが存在すれば直接表示 RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d # ファイルが存在しない場合、[/Wiki/トップページ] を表示 # RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/wiki/index.php [L] # ファイルが存在しない場合、[/Wiki/ファイル名] ページを表示 RewriteRule ^(.+)$ %{DOCUMENT_ROOT}/wiki/index.php?title=$1 [L,QSA] # ドメインのみの場合、Wikiトップページ表示 RewriteRule ^$ %{DOCUMENT_ROOT}/wiki/index.php [L]
.htaccessの所有者を変更
[root@host3 ~]# chown sysop:sysop /var/www/html/.htaccess
index.phpの設定
上記、.htaccessの設定だと必要ないですが念のためにこしらへておきます。
上記の「ファイルが存在しない場合」の設定を両方ともコメントアウトすると必要になります。その場合は、ドメインのみは「index.php」で転送され、ファイルが存在しないと、Apacheのエラーページに飛びます。
index.phpの作製
[root@host3 ~]# vi /var/www/html/index.php <?php header("HTTP/1.1 301 Moved Permanently"); header("Location: /wiki/") ; ?>
index.phpの所有者を変更
[root@host3 ~]# chown sysop:sysop /var/www/html/index.php