0

現在、ウェブサイト全体を再構築中です。以前のバージョンでは静的な html ページしか使用されておらず、管理するのは悪夢でした。

新しいサイトには.htaccess、次のものがあります。

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /MySite/?q=$1

PHP 経由で URL を書き換えます。

ただし、次のような行を追加する必要もあります。

Redirect 301 /oldpage.html http://www.mysite.com/dir/newpage.html
Redirect 301 /oldpage2.html http://www.mysite.com/dir/newpage2.html
Redirect 301 /oldpage3.html http://www.mysite.com/dir/newpage3.html

サイトの URL ディレクトリ構造が完全に変更されました。Google にインデックスされたページが多数あり、それらを新しい URL に 301 する必要があります。

これらの新しい 301 ディレクティブを既存のディレクティブの最後に追加しようとしましたが、最終的に次の.htaccessようにリダイレクトされます。

http://www.mysite.com/dir/newpage.html?q=oldpage.html

最後にクエリ文字列を付けたくないのですが、どうすれば削除できますか?

4

1 に答える 1

1

Lディレクティブを使用してメインのリダイレクトの前に置くだけです。

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^oldpage\.html$ /dir/newpage.html [R=301,NC,L]
RewriteRule ^oldpage2\.html$ /dir/newpage2.html [R=301,NC,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /MySite/?q=$1
于 2013-07-26T17:58:37.323 に答える