.htaccess+RedirectMatchで動的URLに戻す
#スミマセン、またosCommerceネタです。。
エックスサーバーでは検索エンジン対策URLが使用できない模様(?)
今までのSpeeverでは検索エンジン対策URL(?や&などをスラッシュで置き換えたURL)で運営してきて、検索エンジンにもそのURLでインデックスされてしまっているので、そこからアクセスすると「No input field specified」とだけ出て、どこへもリンクされない。
一般ユーザーから見るとあたかもサイトがなくなったかのように見えてまずいので、.htaccessでリダイレクトを試みる。
例)
マイドメイン.com/oscommerce/catalog/default.php/cPath/1/中略/products_id/8
↓こうしたい
マイドメイン.com/oscommerce/catalog/default.php?cPath=1&中略&products_id=8
■方法
どうもRedirectMatch+正規表現で.htaccessに詳しく書かないとできなさそう。今は時間がないので、すべてトップページにリダイレクトするようにした。
RedirectMatch (.*)cPath(.*) http://www.マイドメイン.com/index.html
「cPath」という文字列を含んでいたらトップページにリダイレクトする。
※しかしこれだと検索エンジンに新たにインデックスされた動的なURLものまでリダイレクトされてしまう?追って検証作業…
※誰かヒントもらえたらありがたいな~(笑)