-1

基本的に、この古い URL からすべての URL を移動しようとしています。

http://www.gamingonlinux.com/index.php?threads/crusader-kings-2-will-be-released-for-linux-today.1629/

新しい URL へ (サイトを新しいシステムに移動すると、すべての外部リンクが機能しないため)

http://www.gamingonlinux.com/articles/crusader-kings-2-will-be-released-for-linux-today.1629

誰かが私がそれをするのを手伝ってくれますか?

4

2 に答える 2

1

これを試すことができます:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  ^/index\.php$  [NC]
RewriteCond %{QUERY_STRING} ^[^/]+/([^/]+)/?  [NC]
RewriteRule .*   articles/%1?        [R=301,L]

永久にリダイレクト

http://www.gamingonlinux.com/index.php?anything/query末尾のスラッシュの有無にかかわらず

に:

http://www.gamingonlinux.com/articles/query

于 2013-01-14T21:08:42.137 に答える
0

メインディレクトリの .htaccess で、次の行に沿った何かが機能するはずです。

RewriteEngine on
RewriteRule ^articles/([^/\.]+)$ index.php?threads/$1/ [L]

そうでない場合は、mod_rewrite に関するドキュメントや、Google と Bing の正規表現に関するドキュメントが山ほどあります。

編集:「/articles/」の URL が「index.php?thread」の URL を指すようにしたいというのは私の理解でした。私の理解が正しければ、次のように逆にしたいのです。

RewriteEngine on
RewriteRule ^index.php?threads/([^/\.]+)/$ articles/$1 [L]

EDIT2:URLに疑問符があるため、少し問題がありました。それ以降はすべて、URL ではなく QUERY_STRING の一部になります。次のコードをテストしましたが、動作します。

RewriteEngine on
RewriteCond %{QUERY_STRING} threads/(.*)
RewriteRule ^index\.php$ articles/%1 [L]

それが役立つことを願っています。

于 2013-01-14T18:52:04.193 に答える