古いURLを新しいURLにリダイレクトする際に問題が発生しています。
これは古いURLです: http://www.abc.com/department.asp?dept=Minimal%20cloth
新しいURLは次のようになります。 http://www.abc.com/Minimal-cloth
最善の方法を教えてください
回答:
回答№1は1.htaccessファイルで次のルールを試してみてください。
Options +FollowSymLinks
RewriteEngine on
# to take care of /department.asp?dept=Minimal%20cloth or
# /department.asp?dept=Minimal cloth tyoe of URLs
RewriteCond %{QUERY_STRING} ^dept=(.+)(s|%20)(.+)$ [NC]
RewriteRule ^department.asp$ /%1-%3? [R=302,L,NC]
# to take care of /department.asp?dept=MinimalCloth type URLs
RewriteCond %{QUERY_STRING} ^dept=(.+)$ [NC]
RewriteRule ^department.asp$ /%1? [R=302,L,NC]
RewriteRuleはクエリ文字列と一致しないことに注意してください。
回答№2の場合は0
Apacheのmod_rewriteはこれに最適です。 ここに優れたチュートリアル.
回答№3の場合は0
Apacheサーバーの構成で有効になっているモジュールに応じて、これにはmod_aliasまたはmod_rewriteのいずれかを使用できます。mod_aliasを使用するには、次のようなものを使用します。
RedirectMatch 301 ^/department.asp?dept=(.*) /$1
mod_rewriteを使用するには、次のようなものを試してください。
RewriteCond %{QUERY_STRING} ^dept=(.*)$ [NC]
RewriteRule ^/department.asp/%1 [R=301]
これらはテストされていませんが、開始できることを願っています。