1

URL の書き換えについてサポートが必要です。

すべてのスパム ボットのために、mediawiki をあきらめました。すべての記事を DokuWiki に変換することができましたが、古いリンクのリダイレクトに行き詰まっています。

記事のタイトルは

Namespace:category/page

古いリンクは

http://www.mediawikilink.com/?title=Namespace%3Acategory%2Fpage

新しいリンクは

http://www.dokuwikilink.com/?id=Namespace%3Acategory%2Fpage

次の .htaccess ルールを試しました。

RewriteCond %{QUERY_STRING} title=([^&]+)
RewriteRule ^(.*)$ /$1?id=%1 [R=301,L]

悪い結果で終わる:

doku.php?id=Namespace%253Acategory%252Fpage
URL decoded: Namespace_3a_category_2f_page

問題は、デコードされていない生の値を解析する RewriteCond 内にあり、RewriteRule はそれを再度エンコードすることにあると思います。

4

1 に答える 1

0

これは良いですか?

RewriteCond %{QUERY_STRING} title=([^&]+)
RewriteRule ^(.*)$ http://www.dokuwikilink.com$1?id=%1? [NE,R=301,L]

NE: ノーエスケープ。

于 2013-10-16T21:51:18.200 に答える