0

.php以下を使用して、URL にファイル拡張子のサポートを追加しています。

RewriteEngine On
RewriteRule ^/?([a-z]+)$ $1.php [L]

たとえば、URL が の場合、www.doamin.com/createが呼び出されますcreate.php

.htaccessファイルをルート フォルダに貼り付けてを呼び出すwww.doamin.com/notes/createと、エラーが発生します。.htaccessファイルをメモ フォルダーに貼り付けると、正常に動作します。

ファイルがルートでサポートされていないのはなぜですか?

4

1 に答える 1

0

あなたの前にこれを追加してみてくださいRewriteRule

RewriteCond %{REQUEST_URI} !\.php$

ルールがドキュメント ルートにある場合、無期限にループします。

  1. URI = メモ/作成
  2. 適用ルール、URI = notes/create.php
  3. 適用ルール、URI = notes/create.php.php
  4. 適用ルール、URI = notes/create.php.php.php

.phpURI の末尾がdon't である場合にルールを適用しないように、条件を追加する必要があります。追加できるもう 1 つの条件は、URI が存在しないかどうかを確認することです (たとえば、create.php ファイルが存在しない場合)。したがって、ルールの前にこれらも追加する必要があります。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
于 2012-06-18T20:10:30.670 に答える