ドメイン名の古いaspページをリダイレクトして、CakePHPバージョン(1.3を使用)のそれぞれのページにリンクしようとしています。ドメイン名は同じです。検索エンジンの結果が新しい Cake ページに移動するように、これらのリダイレクトが追加されています。
/.htaccess ファイルに多数のリダイレクト 301 があります (app/.htaccess と app/webroot/.htaccess がデフォルトです)。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
Redirect 301 /contacts.asp http://domain/contacts
Redirect 301 /users.asp http://domain/users
</IfModule>
しかし、何らかの理由で、リダイレクトをテストするためにいずれかの URL にアクセスすると、追加のクエリ文字列パラメーターが追加されます。例えば:
行き先:http://domain/contacts.asp
結果http://domain/contacts?url=contacts.asp
したがって、リダイレクトは機能していますが、url
クエリ文字列パラメーターが追加されています。一部の古い ASP リンクには、対応する Cake ページにも渡したいクエリ文字列パラメータがあるため、すべてのクエリ文字列パラメータを完全に削除したくありません。
「url」クエリ文字列パラメーターは、次のapp/webroot/.htaccess
ファイルから取得されていると思います。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
すべての 301 リダイレクトを仮想ホスト ファイルに入れると、url
パラメータが追加されないことに注意してください。これらすべてのリダイレクトを .htaccess ファイルに保持したいと思います。url
このクエリ文字列パラメーターが追加されないようにするにはどうすればよいですか?