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

.htaccessのmod_rewriteについて教えてください。

PHPのフレームワークZendFrameworkを勉強中です。そこで以下の.htaccessをドキュメントルートに置きました。

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

これでhttp://localhost/Sample/Page1/へアクセスした場合は http://localhost/index.php/Sample/Page1となるはずなのです。

しかし500エラーになります。WindowsにXamppを使ってApache等をインストールしています。

これはApacheの設定がおかしいのでしょうか?それともmod_rewriteの書き方ですか?

みなさんよろしくお願いします。
ちなみに上記mod_rewriteの書き方は以下を参考にしています。「.htaccessファイルの作成」という項目です。
http://www.zend.co.jp/tech/index.php?%A4%BD%A4%CE%C2%BE%2FZend%20Framework

●質問者: tokyosmash
●カテゴリ:インターネット ウェブ制作
✍キーワード:.htaccess Apache CSS GIF ICO
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● b-wind
●60ポイント ベストアンサー

これでhttp://localhost/Sample/Page1/へアクセスした場合は http://localhost/index.php/Sample/Page1となるはずなのです。

あくまで http://localhost/index.php へのアクセスにしかならないと思いますが。


それはともかく、エラーの内容はエラーログに出ているはずです。

確認してみてください。

◎質問者からの返答

回答ありがとうございます。

エラーログを確認してみたところmod_rewriteが有効になっていませんでした。有効にしたつもりだったのですが、Apacheを再起動していなかったので設定が反映されていなかったようです。

「おかしくなったらログを見る」という事を学びました。


>これでhttp://localhost/Sample/Page1/へアクセスした場合は http://localhost/index.php/Sample/Page1となるはずなのです。

これはZendの公式ページから持ってきた表現です。

私もイマイチ理解できていませんが、index.phpに置かれたフロントコントローラ(MVCのC)へ

?ctr=Sample&act=Page1

というクエリ?を送るようなイメージです。Sampleというアクションコントローラを呼び出し、Page1というアクションを実行させるらしいです。


いつも適切な回答ありがとうございます。助かっています。またよろしくお願いします。

関連質問


●質問をもっと探す●



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