1

Wordpressにある私のサイトの古いdrupalリンクから?q=を削除したい

私は2つのことで助けが必要です。

まず、以下のスニペットのように、数字ではなく単語の範囲を指定するにはどうすればよいですか?これを行うと、このコードは「... /?q=postname」を単に「.../postname」にリダイレクトするように機能しますか?

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/([0-9]+)$
RewriteRule .* http://www.mysite.com/?q=%1 [R=301,L]

次に、そのコードを機能させたら、デフォルトのWordpress mod_rewrite(以下)と統合するにはどうすればよいですか?

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
# END WordPress
4

1 に答える 1

1

これを試して:

RewriteCond %{QUERY_STRING} ^q=(\w+)$
RewriteRule .* http://www.mysite.com/%1? [R=301,L]

ところで、すべてが期待どおりに機能することを確認するまで、最初は [R=302,L] を使用します。間違った RewriteRule で 301 を使用すると、ブラウザはリダイレクトをキャッシュし、さらに RewriteRule を変更すると、コードを変更するたびにブラウザを再起動して違いを確認する必要があります。

于 2012-12-10T23:50:58.553 に答える