• 締切済み

ZendFrameWorkで、.htaccessを置くと500エラーがでる。

*環境 ・さくらインターネット ビジネス ・BSD/Apache1.3/PHP5.2 ・ZendFrameWork1.9 複数ドメインで運用しています。 /home/ [USER] /www/www.aaaaa.jp/public_html/ 【public_html】が公開ディレクトリーで ・・・/public_html/.htaccess ・・・/public_html/index.php としています。 ZendFrameWorkを利用してプログラムを制作中です。 index.phpへリダイレクトさせる.htaccessを置くと500エラーが 起きます。 Windows環境・他サーバでは正常に作動しております。 以下が、htaccessの内容になります。 ####### DirectoryIndex index.php index.cgi index.html index.htm RewriteEngine on RewriteBase / RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php ####### 解決策などございましたらご教授頂きたいです。

  • PHP
  • 回答数1
  • ありがとう数2

みんなの回答

  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

現在のマニュアルでは RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] となってますが、これはだめですか?

maru0808
質問者

お礼

できました。 ありがとうございました。

関連するQ&A

  • .htaccessでの301リダイレクトについて

    .htaccessでの301リダイレクトについて教えてください。 1つのサイトを閉鎖し新しいサイトと一緒にしたいと思っています。 .htaccessで301リダイレクトを行うと思い 下記のような記述を行いましたが上の4つはリダイレクトされますが 下の2つがリダイレクトされません。 色々と試してはいますがどう直せばいいのか分からず困っています。 RewriteRule ^whatis.php$ https://hoge.jp/whatis.php [R=301,L] RewriteRule ^help/$ https://hoge.jp/faq.php [R=301,L] RewriteRule ^category/$ https://hoge.jp/category.php [R=301,L] RewriteRule ^inquiry/$ https://hoge.jp/inquiry/ [R=301,L] RewriteRule ^category/details.php?category=aaaaa$ https://hoge.jp/category/?category=aaaaa [R=301,L] RewriteRule ^category2/?category=aaaaa$ https://hoge.jp/category/search.php?category=aaaaa [R=301,L] よろしくお願い致します。

  • htaccessの設定について

    .htaccessについての質問です。 今までメインディレクトリ内に index.html aaa.html の2つがあるとします。 今回、新たにサブディレクトリを作って(sp/) その中に index.html をスマホ用閲覧の為に新たに作りました。 メインディレクトリ内に.htaccessを設置して スマートフォンからindex.htmlにアクセスすると自動で/sp/index.htmlに リダイレクトすることができました。 ただしサブディレクトリ内の sp/index.htmlの中にあるリンク(リンク先はメインディレクトリのaaa.html) にリンクすると/sp/aaa.htmlに切り替わってしまい、当然そのようなページがないので 「ファイルが見つかりません」と表示されてしまいます。 サブディレクトリーからメインディレクトリーにリンクさせる場合、/sp/を付加させないためにはどのように設定したらいいのか教えてくだい。 よろしくお願いいたします。 なお、今のメインディレクトリのhtaccessの記述は DirectoryIndex frontpage.php headpage.shtml index.html RewriteEngine on RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|Android|Windows\ Phone) RewriteRule ^(.*)$ sp/$1 [R] RewriteBase / RewriteCond %{REQUEST_URI} /sp/ RewriteCond %{HTTP_USER_AGENT} !(iPod|iPhone|Android|Windows\ Phone) RewriteRule ^sp/(.*)$ $1 [R] RewriteBase / です。 よろしくお願いいたします。

  • htaccessでリダイレクト

    http://www.○○○/index.php?s=sample というアドレスを http://www.◆◆◆/ にリダイレクトしたいと思っています。 htaccessに下記のように記述しました。 RedirectPermanent /index.php?s=sample http://www.◆◆◆ が、リダイレクトしませんでした。 次に下記のように記述してみました。 RewriteEngine on RewriteRule ^([0-9A-Za-z_]+)/$ index.php?s=$1 [L] RedirectPermanent /sample/ http://www.◆◆◆ すると、 http://www.○○○/index.php?s=sample にアクセスすると、リダイレクトはしますが、 リダイレクト先のアドレスが、 http://www.◆◆◆s=sample となり、引数が残ってしまいます。 原因もわからず、どのようにしたらいいかが全くわかりません。 どなかたお教えください。

    • ベストアンサー
    • PHP
  • リダイレクトのhtaccessを置くと403エラー

    perlで書いたCGIファイルがあるのですが、スマホ用のリダイレクトhtaccessファイルをトップディレクトリに置いた所、CGIのページが403エラーになってしまいました。 .htaccessファイルを外すと正常に表示するので、原因は.htaccessなのですが、理由が思い当たりません。 CGIのソースは出せないですが、お問い合せフォーム用のCGIです。 何かお気づきの点がありましたら助言お願い致します。 ● .htaccess(トップディレクトリに設置) <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|Windows.*Phone) RewriteRule ^(.*)$ sp/$1 [R] RewriteBase / RewriteCond %{REQUEST_URI} /sp/ RewriteCond %{HTTP_USER_AGENT} !(iPhone|Android.*Mobile|Windows.*Phone) RewriteRule ^sp/(.*)$ $1 [R] RewriteBase / </IfModule> ● ディレクトリ構造 /index.html・・・トップページ /.htaccess・・・上記内容 /contact/all/index.cgi・・・403エラーになるCGI /contact/all/.htaccess・・・「Options ExecCGI」のみ記述 /sp/・・・スマホ用のリダイレクト先ディレクトリ(以下略)

  • .htaccessの使い方を教えてください。

    こんばんは、はじめまして。 こちらには初投稿になります。 リンクをクリックした際、普段はAというHPが普通に表示され、特定の場合のみBというHPに リダイレクトさせたいと考えています。 .htaccessを使いたいのですが、色々なサイトを調べても私が行いたい内容のことが書かれて おらず、どうすればいいのかが分かりません。 C.co.jpというホストからアクセスがあった場合のみ http:/d/index.html に転送したいのですが、うまくいきません。 RewriteEngine on RewriteBase / RewriteCond %{REMOTE_ADDR} .C.co.jp RewriteRule .* http:/d/index.html と書いたのですが、どこか問題がありますでしょうか? また、逆にC.co.jp以外からアクセスがあった場合にBのHPにリダイレクトする方法も教えていただけると うれしいです。 ちなみに.htaccessの設置場所はAのHPのindexファイルがあるディレクトリです。 どうか、アドバイスをよろしくお願いいたします。

  • Zend Frameworkの.htaccessが分からない

    ので教えてください。 .htaccess: SetEnv APPLICATION_ENV development RewriteEngine On RewriteBase /zend23/kubo/public RewriteCond %{REQUEST_FILENAME} -s [OR] #(1) RewriteCond %{REQUEST_FILENAME} -l [OR] #(2) RewriteCond %{REQUEST_FILENAME} -d #(3) RewriteRule ^.*$ - [NC,L] #(4) RewriteRule ^.*$ index.php [NC,L] #(5) において (1),(2),(3)はどういう意味でしょうか? また (4),(5)においてRewriteRuleは(5)だけだとまずいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • .htaccessのRewriteRuleの設定

    Sabelというフレームワークでtest用プロジェクトを作成して、 testフォルダ  addonフォルダ  appフォルダ     ・     ・     ・  publicフォルダ   .htaccessファイル というフォルダ構造で、publicフォルダの中に.htaccessファイルがあり内容は [.htaccessファイル] <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} \/\..+$ RewriteRule .* /notfound [R,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule !\.(js|ico|gif|jpg|png|bmp|swf|css|html)$ index.php [QSA,L] </IfModule> URLからのアクセスは、 http://localhost/test/public/index.php/index/index と入力するとちゃんとindexコントローラのページが表示できます(http://localhost/test/public/index.phpでもアクセスできます) ですが自分としては、 http://localhost/test/public/index/index とindex.phpを抜かしてアクセスさせたいのですが、 この.htaccessファイルのままでは、 「404 Not Found 該当するページが見つかりません。 ページは削除されたか、移動された可能性があります。 」 のページになってしまいます・・・ なにを記述すればindex.phpなしでアクセスできるようになるのでしょうか? Sabel ドキュメントとか(非公式) http://ebine.org/sabel/doc/index.html

    • 締切済み
    • PHP
  • htaccessのエラーについて

    htaccessのエラーについての質問です。 リダイレクトを以下のように設定して正常に動作しています。 RewriteEngine On RewriteBase / RewriteRule ^◯◯◯◯◯◯◯$ /◯◯◯◯◯◯◯ [R=301,L] これにキャッシュコント―ロールのため、 以下のコードを追加したところ <Files ~ "\.(pdf|png|jpg|gif)$"> Header set Cache-Control no-cache Header set Pragma no-cache </Files> Internal Server Error になってしまいました。 文字コードや不要な空白などのミスは無いように思うのですが、 htaccessの内容によってエラーの発生は起こるのでしょうか?

  • htaccess rewrite 無限ループ

    すでにあるサイトにhtaccessを設置して、 rewriteで日本語のファイル名でアクセスさせる方法を模索しています。 例↓ ・「http://www.example.jp/index.php」でアクセスされたら「http://www.example.jp/インデックス」 にリダイレクト。 ・「http://www.example.jp/インデックス」でアクセスされたら「index.php」 を表示させる。 htaccessの例↓ Options +FollowSymLinks RewriteEngine on RewriteRule ^index\.php$ /インデックス [R=301,L] RewriteRule ^インデックス$ index.php [L] 上記の設定だと無限ループになってしまいます。 index.phpでアクセスされたら404を返す方法も考えましたが・・・もっといい方法はないでしょうか?

    • ベストアンサー
    • PHP
  • マルチドメインでの.htaccessについて

    新サイト(新ドメイン)に引っ越しをしたのですが、 マルチドメイン環境でのリダイレクトの方法がうまく行かず困っています。 お手数ですが、やり方を教えていただけないでしょうか。 前提として、旧サーバはマルチドメインで2つのドメインを使用しており、 ルート直下は下記の構成になっています。 /.htaccess /index.html /staff/ /corp/ /ex/  ←ここだけ別ドメインに設定(仮にhttp://hoge.comとします) http://hoge.comはそのまま使用したい、 それ以外のファイルすべてを新サーバ(新ドメイン)にリダイレクトしたい、 という状況です。 htaccessは下記のように設定しているのですが、 /ex/(http://hoge.com)も含めてすべてリダイレクトしてしまいます。 -------- RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !(^/ex/) RewriteRule ^(.*)$ http://www.new.com/ [R=301,L] -------- 下記のサイトを参考にしており、RewriteRule以外はそのままです。 http://www.kaden1000.com/2012/11/fc2-28/ 参考サイトのように、RewriteRule ^$ とした場合リダイレクトしないため、 RewriteRule ^(.*)$ としています。 (ここが問題のような気はしています。。。) あまり詳しくないので、素人でわかるレベルで教えていただけないでしょうか。 よろしくお願いいたします。

専門家に質問してみよう