2

mydomain.com/wiki/ フォルダー内に mediawiki がインストールされており、mydomain.com のようなルートに phpbb もインストールされています。私の phpbb インストールにはすでにユーザー プロファイル ページがあり、それらのページへの URL は次のようになっています: mydomain.com/memberlist.php?mode=viewprofile&un=XYZ

私がやりたいことは、Mediawiki のユーザー ページとユーザー トーク ページを使いたくないということです。代わりに、すべてのユーザー ページを、ルート ディレクトリにある phpbb のユーザー プロファイル ページにリダイレクトしたいと考えています。htaccess メソッドを使用してリダイレクトしようとしましたが、動作しませんでした。ルート フォルダー内の htaccess には、次の書き換えルールがあります。

redirect 301 wiki/index.php/User:* http://www.mydomain.com/memberlist.php?mode=viewprofile&un=*

これらについて助けが必要です:

1) 誰かが上記のコードを見て、何か問題があるかどうか、またはこれを実行できないかどうかを教えてもらえますか?

2) 既存のすべての Mediawiki ユーザー ページを phpbb の memberlist.php ページに転送したいので、'User:' の隣に * があります。あれは正しいですか?

3) また、Mediawiki では、ユーザーページにさまざまな種類の URL があることに気付きました。たとえば、次のような場合があります: wiki/index.php/User:XYZ (または) wiki/index.php?title=User:XYZ (または) wiki/index.php?title=User:XYZ&action=edit&redlink=1 など...その場合、URL の種類ごとに異なる htaccess リダイレクト ルールを追加する必要がありますか?

4) LocalSettings.php にリダイレクト ルールを追加するなどの別の方法はありますか?

5) これを行うための正しい方法は何ですか?

私は困惑しています!

4

2 に答える 2

0

誰かが上記のコードを見て、何か問題があるかどうか、またはこれを実行できないかどうかを教えてもらえますか?

はい、あなたのRedirect指示は間違っています。*これは正規表現ではないため、実際に「*」と照合しようとしない限り、そのようなものを含めることはできません。

Mediawiki は独自の htaccess を使用しているため、おそらくルート ディレクトリの htaccess ファイルからリダイレクトすることはできません。そのため、フォルダー内にある htaccess ファイルで、/wiki/既存の書き換えルールの上にこれを追加してみてください。

RewriteCond %{QUERY_STRING} ^title=User:([^&]+) [NC]
RewriteRule ^ /memberlist.php?mode=viewprofile&un=%1 [L,R=301]

これにより、次のような URL が処理されます。/index.php?title=User:XYZ

RewriteRule User:(.*)$ /memberlist.php?mode=viewprofile&un=$1 [L,R=301]

そして、次のような URL を処理する必要があります。/User:XYZ

LocalSettings.php などにリダイレクト ルールを追加するような別の方法はありますか?

この種のリダイレクトを行うためにで設定できることは何も知りませんがLocalSettings.php、この問題に対する Mediawiki 固有の解決策があったとしても驚くことではありません。特定の名前空間。

于 2013-09-11T20:12:20.303 に答える