サイトのサブドメインを設定し(この質問の目的でwiki.example.com
と呼びます)、そこにウィキをインストールし、MediaWikiのWebサイトの記事に従ってURL書き換えを設定しました( http://www.mediawiki.org/wiki/Manual:Short_URL/Apache )。
しかし、私のサブドメインはwiki専用であるため、URLをwiki.example.com/ArticleName
ではなくwiki.example.com/wiki/ArticleName
の形式にすることを望んでいました。
私は正しいと思った方法で書き換えルールを変更してこれを試しました:
RewriteRule ^(/.*)$ %{DOCUMENT_ROOT}/index.php [L]
免責事項:私が書いた構文は、この質問に再入力することができなくなったため、まったく同じではなかったかもしれません。
wiki.example.com/Main_Page
のページに到達できたが、画像もCSSもロードされなかったため、これは部分的に機能しました。
URL書き換えルールはすべてをindex.php
に向けようとしているのではないかと疑っていますが、wiki.mysite.com/ArticleName
の形式でURLを取得する方法はないのでしょうか。
このタイプの問題を非表示にする方法は、。htaccessを使用することです。実際に非常にうまく機能します。
コードは私のウェブホストから来ており、動作するように修正するために若干の編集を行う必要がありますが、shouldも動作します。
# .htaccess main domain to subdirectory redirect
# Do not change this line.
RewriteEngine on
# Change example.com to be your main domain.
RewriteCond %{HTTP_Host} ^(www.)?example.com$
# Change 'subdirectory' to be the directory you will use for your main domain.
RewriteCond %{REQUEST_URI} !^/subdirectory/
# Don't change the following two lines.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Change 'subdirectory' to be the directory you will use for your main domain.
RewriteRule ^(.*)$ /subdirectory/$1
# Change example.com to be your main domain again.
# Change 'subdirectory' to be the directory you will use for your main domain
# followed by / then the main file for your site, index.php, index.html, etc.
RewriteCond %{HTTP_Host} ^(www.)?example.com$
RewriteRule ^(/)?$ subdirectory/index.html [L]
基本的に、/wiki/
フォルダーをURLから削除し、問題を修正する必要があります。