2017-10-24 17 views
0

私のウェブサイトの特定の動的URLに問題があるのを実験しています:test.app/ja/schools/stpaulsプロダクションでは正常に動作しています。私の.htaccessでREQUEST_FILENAMEの値が正しくありません

私はこれを持っている:

RewriteEngine on 
RewriteBase/

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php [QSA,L] 
</IfModule> 

問題は、それが本物であると考えて、これは、schools.php代わりの学校で、REQUEST_FILENAMEが間違った値を持っている、ということですそれは私のルーティングコントローラですindex.phpに入力しないようにします。私はPHPのINFO_VARIABLESを印刷する場合

加えて、私はこれを取得:なぜ彼らは異なる

_SERVER["REDIRECT_URL"] /en/schools.php/stpauls 
_SERVER["REQUEST_URI"] /en/schools/stpauls 

ですか?同じではありませんか?

どの瞬間に_SERVER ["REDIRECT_URL"]が設定されているか、またはREQUEST_FILENAME変数に.php拡張子を追加する場所はどこですか?

私はWAMPSERVER上でApache 2.4.23を実行しています3.0.6

答えて

0

は(上)のMultiViewsを無効にするには、その追加:

Options -MultiViews 

Apache docs on mod_negotiationは、有効にするとMultiViewsオプションは、何をするかについて説明します。

サーバが/ some/dir/fooの要求を受けた場合及び/ some/dir/fooが、サーバが探してディレクトリを読み込み、存在しません foo。*という名前のすべてのファイルに対して、 というファイル名をすべて指定するタイプマップを効果的に作成し、クライアントがその名前の1つを要求した場合には同じメディアタイプとコンテンツエンコーディングを割り当てます。それから がクライアントの要件に最も適したものを選択し、 というドキュメントを返します。

+1

ありがとうございました。 MultiViewsを無効にします –

関連する問題