1

クライアントは式エンジン サイトを持っており、'index.php' を削除したいと考えています。これを単独で行うと、すべての URL が変更されるため、サイトの SEO ランキングが低下します。そのため、すべてのページに 301 を追加して、リンク エクイティとソーシャル ネットワークの共有数を保持したいと考えています。

index.php を削除する方法とリダイレクトする方法は知っていますが (私はそう思います)、両方を使用すると、サーバーがリダイレクト ループをスローします。私の論理は歪んでいます。ここで何が欠けていますか?

これが私が取り組んでいるものです:

# Redirect attempt
Redirect 301 /index.php/feature/article/ http://domain.com/feature/article/

# EE index.php rewrite
RewriteCond $1 !^(index\.php|js|path\.php|press_releases|rear|robots\.txt|text\.html|themes) [NC]
RewriteRule ^(.*)$ /index.php/$1 [L] 
4

1 に答える 1

2

実際のリクエスト/index.php/URLに対するものである場合にのみ、リダイレクトする必要があります。Redirectディレクティブを次のように変更します。

# Redirect attempt
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php
RewriteRule ^/?index.php/feature/article/(.*)$ http://domain.com/feature/article/$1 [R=301,L]

この条件は、URI (2 番目のルールによって書き換えられる可能性がある) ではなく、サーバーが取得した実際の要求と一致します。

于 2012-07-24T03:44:53.277 に答える