質問

httpd.confファイルにはAllowOverride FileInfoがあります。私のウェブサーバーのトップレベルにある.htaccessファイルには、他のすべてのファイルが含まれています。これは次のとおりです。

RewriteEngine On
RewriteRule ^downloads/?$ index.php?page=downloads [L,NC]

しかし、動作しません。 mywebsite / downloadsおよびmywebsite / downloads /は常に404 not foundを返します。理由は何ですか?ありがとう。 (mywebsite / index.php?page = downloadsは動作します動作します)。

そして、変更するたびにapacheを再起動します。

そして、上記のコードをhttpd.confに配置すると、Webサイトはまったくロードされず、空白になり、サファリホイールが永久に回転します。

RewriteEngine Onを実行するだけで問題ありませんが、他の何か(RewriteBase、RewriteRule)を実行すると、Webブラウザーは何年もかけてロードしようとし、最終的にこのエラーを出します:

  

Safariは<!>#8217; tページを開きません<!>#8220; http:// mk12。 gotdns.com/ <!>#8221;このページが配置されているサーバーは、n <!>#8217; tが応答しないためです。

誰が何が悪いのか知っていますか?

編集:たとえば、書き換えで禁止されているcssファイルを作成できますが、動作しますが、ダウンロードからindex.php?page = downloadsに移行すると、サーバーが応答しなくなります(上記を参照)。どのページでも問題ありません。ウェブサイトはまったく読み込まれません。任意のアイデア..?

役に立ちましたか?

解決 4

うまくいきました!!コードを間違った場所に置いていました。これはhttpd.confにありましたが、最後にありました。 <!> lt; Directory <!> gt;に移動します。そしてその良い。ご協力ありがとうございます!

編集:また、フラグが次のような場合は機能しないことがわかりました:[L, NC][L,NC](スペースなし)でなければなりません。

だから、それが<!> lt; Directory <!> quot; / Library / WebServer / Documents <!> quot; <!> gt;の中になく、フラグ間にスペースがあった2つの問題。これが将来他の誰かを助けることを願っています。

他のヒント

書き換えルールをデバッグする最良の方法は、書き換えログを有効にして、何が問題なのかを確認することです。

<!> quot; download <!> quot;の前にスラッシュを追加するのに疲れましたか?以下のように

RewriteRule ^/downloads/?$ index.php?page=downloads

編集:以下のコードを試してください:

RewriteEngine On
RewriteBase /
RewriteRule ^downloads/?$ /index.php?page=downloads

ダウンロード後に末尾のスラッシュと疑問符を削除し、index.phpの前に先頭のスラッシュを削除します。

RewriteEngine On
RewriteBase /
RewriteRule ^downloads$ index.php?page=downloads.
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top