人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【.htaccess】【CakePHP】CakePHPでWebサイトを作り変えるにあたり、
旧URLからのリダイレクトをさせたいと思います。
しかし、app/webroot/.htaccess に
RedirectMatch /old/url/(.*) http://newsite.com/new/url/$1
とするとCakePHP
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
のせいで
http://newsite.com/old/url/hoge
にアクセスした時
http://newsite.com/new/url/hoge?url=/old/url/hoge
といった形になってしまいます。
http://newsite.com/new/url/hoge
にリダイレクトさせるにはどうしたらよろしいでしょか?

どうぞ、よろしくお願いいたします。

●質問者: pandeiro_jp
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess CakePHP INDEX PHP URL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● hiromi2424
●60ポイント

.htaccessの書き方の問題です。

RewriteCond %{REQUEST_URI} !old/url

として古いURLは書き換えないようにすればOKです。

また、アプリケーション側での対応として、CakePHP >= 1.3なら、カスタムルーティングで対応できます。

RedirectRouteを使えば希望の動作は見込めます。

https://github.com/Phally/route_enhancements

CakePHPのバージョンやApacheのバージョンなど、環境は忘れずに書いてください。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ