私はちょうど新しい開発環境をセットアップしています。私は自分のサイト上のホームページにアクセスできませんでした。htaccessを使用しているときにApacheによるリダイレクトがありませんRewriteRule
たとえば、私がwww.herpandderp.com/contact_usに行くと、404エラーが発生します。
/contact_usという名前のディレクトリがなく、index.phpにURLをパラメータとして扱い、必要に応じて適切なコードを組み込み/必要とするコードがあります。
これは私のルートの.htaccessのエントリです:
RewriteRule ^([^.]+)$ /index.php?url=$1 [L,QSA]
私がするphpinfoをすれば、私は(私はmod_rewriteのがインストールされている知っている)apache2handlerの下で、次を得る:
ロードされたモジュールコアpreforkのhttp_core mod_soはmod_auth_basic mod_auth_digestをmod_authn_fileでもmod_authn_alias mod_authn_anon はmod_authn_dbm mod_authn_default mod_authz_host mod_authz_user mod_authz_owner mod_authz_groupfile mod_authz_dbm mod_authz_default mod_log_configのmod_logio mod_env mod_mime_magicよりmod_expiresを mod_deflateをしてmod_headers mod_usertrackにmod_setenvifのmod_mimeによりmod_statusを mod_autoindexのmod_infoのmod_vhost_alias mod_negotiationのmod_dir mod_actions mod_speling mod_userdirはmod_alias mod_rewriteを mod_cacheにmod_disk_cacheはmod_file_cacheにmod_mem_cache mod_perlの mod_php5のmod_sslの
何らかの理由、私の場合はあります私がindex.phpを通過しない/ contact_usに行く?私はスクリプトの1行目にダイを持っていて、それに当たっていません。しかし、は、私がwww.herpandderp.com/?url=contactを行うとが動作します。
コードが他の環境で正常に動作するため、これはApacheの設定上の問題だと思います。あなたの.htaccess
で
推測を危険にさらす: '.htaccess'にその行の前に' RewriteEngine On'行がありますか? – Wrikken
私はmod_php5とmod_suphpの設定で試してみました。これはうまく動作します( 'RewriteEngine On')。 – TerryE