• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Apache mod_rewriteが .htaccess ではうまく適用できない)

Apache mod_rewriteでのURL書き換えについて

このQ&Aのポイント
  • Apache mod_rewriteを使用してURLの書き換えを試みていますが、うまく動作しません。
  • 開発環境では問題なく動作しているのに、.htaccessファイルでの書き換えではエラーが発生します。
  • 様々な方法を試しましたが、どれもうまくいきません。開発環境と公開環境のバージョン差に注意が必要です。

質問者が選んだベストアンサー

  • ベストアンサー
  • la_pure
  • ベストアンサー率72% (18/25)
回答No.1

こんにちわ。 .htaccess自体有効になっていますか? apacheのconfに.htaccessを有効にする AllowOverride **** (***はオプション) がないと.htaccess使えませんよ。 ご確認くださいませ。

参考URL:
http://httpd.apache.org/docs/2.2/ja/mod/core.html#allowoverride
SHlVA
質問者

お礼

なんとか解決できました。 開発環境のhteaccess では下記でうまくいったのですがXREAではうまくいきませんでした。 RewriteRule ((?!css|js|img).*) index.php?&%{QUERY_STRING} [L] いろいろ試したところ、((?!css|js|img).*) この表現がダメだったようで、 そこで、それぞれわけて、 css/(.*) を css/$1 へ js/(.*) を js/$1 へ img/(.*) を img/$1 へ (.*) を index.php へ という具合にしてうまく動くようになりました。 いろいろ細かな違いや設定によりエラーがでるものですよね。勉強になりました。 ありがとうございました。

SHlVA
質問者

補足

la_pureさん、こんにちわ。 ご回答ありがとうございます。 確認しました。 開発環境のhttpd.conf に AllowOverride None になっており、htaccessが使えなくなっていました。とりあえずAll にするとうまく表示できるようになりました。 公開用のほうはXREA(mod_rewriteは利用できるレンサバ)なんですが、こちらだと開発環境でできたhtaccessをそのままアップしても 500 internal error になってしまいました。 Apacheのバージョンの違いによるものなのか、もう少し悩む必要があるようです。 とりあえず、一歩前に進めました。ありがとうございます。