2011-09-22 7 views
0

mod_rewriteの使用を開始したいので、将来私は友好的URLを使用できます。私のlocalhost開発者のすべての私のテスト。環境は幸運なことではなく、モジュールを稼働させることになりました!mod_rewriteエラー:[クライアント127.0.0.1]ファイルが存在しません

私のモジュールは(Apacheの再起動)が有効になっている:

LoadModule rewrite_module modules/mod_rewrite.so 

mod_rewrite.soという名前のファイルが、私は下の.htaccessという名前のファイルを作成した私のApacheのインストールディレクトリ内のモジュールフォルダの下

が存在しますC:

RewriteEngine On 
# Translate my-product.html to /product.php?id=123 
RewriteRule ^my-product\.html$ /product.php?id=123 
:/ public_htmlの/

テスト目的のために、IVEはそのように私の最初のルールを作成しましたテスト目的のために

は、product.phpは非常に簡単です:私は、ログを見に行くとき

The requested URL /my-product.html was not found on this server. 

が、私は以下を参照してください:

<?php 
    // display product details 
    echo 'You have selected product #' . $_GET['id']; 
?> 

私はエラーを取得するhttp://localhost/my-product.htmlをロードする場合

[Thu Sep 22 02:37:49 2011] [error] [client 127.0.0.1] File does not exist: C:/public_html/my-product.html 

.htaccessルールがまったく認識されないようです。

私は次に何をすべきか分かりません。私はmod_rewriteを使い始めるのに最も簡単なルールを適用したと思いますが、運がないと思います!

ヘルプ!

おかげ マルコ

答えて

4

httpd.confファイルのAllowoverrideプロパティを 'All'に変更しましたか?

mod-rewriteがサーバーで有効になっているかどうかを確認するには、phpinfoファイルを読み込んでmod_rewrite拡張子を検索します。

+0

初めての方でした!プロパティをAllに変更した後、それは機能しました!さて、私のライブサイトは共有ホスト上にあります。そのプロパティは通常、共有ホスト上でデフォルトで有効になっていますか? – Marco

+1

はい、通常、ほとんどのホスティングサービスでは、これらのプロパティはデフォルトで設定されます。だから心配はありません。 – Goysar

+0

あなたは救い主です! –

1

あなたはmod_rewriteロギングを設定する必要がありますので、あなたは何が起こるかを見ることができます。マニュアルのRewriteLog指示文を参照してください。

最初に、ログレベルを9(学習用)に設定できます。ファイルが空のままである限り、すでに疑いがあるように、.htaccessは無視されます。

.htaccessにゴミを書き込んで、それがまったく解釈されるかどうかを確認することもできます。そうなった場合は500 Internal Server Errorとなります。そうでない場合は、ディレクトリC:/public_htmlを設定してhtaccessファイルを許可する必要があります。マニュアルのOptions指示を参照してください。

関連する問題