質問: 【.htaccess】【CakePHP】CakePHPでWebサイトを作り変えるにあたり、 旧URLからのリダイレクトをさせたいと思います。 しかし、app/webroot/.htaccess に RedirectMatch /old/url/(.*) $1 とするとCakePHP RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] のせいで にアクセスした時 といった形になってしまいます。 にリダイレクトさせるにはどうしたらよろしいでしょか? どうぞ、よろしくお願いいたします。
回答: .htaccessの書き方の問題です。 `RewriteCond %{REQUEST_URI} !old/url` として古いURLは書き換えないようにすればOKです。 また、アプリケーション側での対応として、CakePHP >= 1.3なら、カスタムルーティングで対応できます。 RedirectRouteを使えば希望の動作は見込めます。 CakePHPのバージョンやApacheのバージョンなど、環境は忘れずに書いてください。