0

これは私が遭遇した最も奇妙な問題です。Apache / 2.2.13(Linux / SUSE)の.htaccessでmod_rewriteを使用していますが、URLに末尾のスラッシュがない場合は呼び出されないようです。.htaccessファイルにガベージを入れてテストしたところ、末尾のスラッシュを追加した場合は500エラーしか発生しませんでしたが、省略した場合は404エラーが発生しました。正直なところわかりません。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

/name fails with 404
/name/ is successful
4

1 に答える 1

0

問題は、通常/name、apacheがディレクトリにマップするために管理するファイル名ですが、このメカニズムが失敗することがあります。私はリモートで同様の問題を抱えており、Apache のドキュメントのURL Rewriting GuideのTrailing Slash Problemセクションに従って、問題を解決するための提案に従いました。/name/

あなたの場合、RewriteEngine Onアクセスできる場合は、Apache構成ファイルに次の行(の直後をお勧めします)を追加してみてください。

 RewriteBase    /
 RewriteRule    ^name$  name/  [R]
于 2014-10-26T19:58:23.483 に答える