1

私は自分のウェブサイトで 301 URL リダイレクトを実行しようとしています。これが .htaccess ファイルの最初の数行です:-

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]


Redirect 301 /en/home/index.html /index.php?
Redirect 301 /en/about/product.html /shop?
Redirect 301 /en/member/profile.html /index.php?route=account/account

上記の 3 301 ルールはすべて正常に機能します。しかし、「?」を削除すると 最初と 2 番目のルールでは、リダイレクトは失敗します。この場合は「?」存在する必要があります。

ただ、「?」のないフォーマットにしたいのですが、可能でしょうか?

また、URL の書き換えだけを行い、301 リダイレクトを行わない場合、以前の seo の成果は維持されますか?

4

1 に答える 1

0

mod_alias の代わりに mod_rewrite を使用してみてください:

RewriteRule ^en/home/index.html$ /index.php? [L,R=301]
RewriteRule ^en/about/product.html$ /shop? [L,R=301]
RewriteRule ^en/member/profile.html$ /index.php?route=account/account [L,R=301]

また、index.php ルーティング ルールの前にそれらが必要になります。

于 2013-09-16T07:21:31.360 に答える