0

私は自分の mediawiki に短縮 URL を実装しました。これらは htaccess で動作します:

RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

ページ タイトルのないページ URL を Main_Page にリダイレクトするにはどうすればよいですか? mysite.com/wiki/ を mysite.com/w/index.php/Main_Page にリダイレクトしますか? MW Apache rewrite Manual には、次のように書かれています。

必要に応じて、パス自体にメイン ページを表示するルールを含めて、ユーザーがページ タイトルを指定せずに URL にアクセスしたときのナビゲーションを簡素化できます。

# Redirect / to Main Page RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]

上記を追加すると、wiki ではなく別のホームページを持っているため、メイン ドメイン アドレスが望ましくない wiki にリダイレクトされます。mysite.com/wiki のようなアドレスだけをリダイレクトしたい

この書き直しを試みましたが、うまくいきません。

RewriteRule ^/?wiki/?$ %{DOCUMENT_ROOT}/w/index.php [L]

明らかに、私は何か間違っていました。誰かこれを見てもらえますか?

4

1 に答える 1

1

このリダイレクト ルールは、/wiki/ のようなページ タイトルのない URL を wiki/Main_Page にリダイレクトすることも自動的に処理します。

RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]

これより前に他の書き換えルールがあったため、以前はうまくいきませんでした。この書き換えルールを他のすべての書き換えルールの前に移動すると、うまくいきました。

于 2013-09-18T21:53:14.973 に答える