わかりました、これを含むこの.htaccessファイルがあります
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php?p=%{REQUEST_URI}&%{QUERY_STRING} [L]
</IfModule>
問題は、apache 2.2.22では、p
および他のクエリオブジェクトが通過しないことですが、apache2.4.2ではうまく機能します。
get
したがって、基本的にapache 2.2.22では、すべてをindex.phpに転送するだけですが、オブジェクトはありません。
助けてくれてありがとう。
アップデート
わかりました、私は行を変更しました
RewriteRule . /index.php?p=%{REQUEST_URI}&%{QUERY_STRING} [L]
に
RewriteRule ^(.*) /index.php?p=$1 [L,QSA]
そして今apache2.2.22では、p
GETは通過しませんが、私が追加した特定のクエリは通過します。
だから私がそうするなら
http://localhost/index/fun/buns/funds?man=woman
2.4.2で私は得る
array (size=2)
'p' => string 'index/fun/buns/funds' (length=20)
'man' => string 'woman' (length=5)
そして2.2.22に私は得る
array(1) {
["man"]=>
string(5) "woman"
}
明確にするために、2.4.2で起こっていることは私が望んでいることであり、2.2.22は協力していません。
別の更新OK、何が起こっているように見えるので、/ index / whateverを実行すると、自動的にindex.phpが想定され、それを無視すると、必要のないときに.phpが自動的に追加されます。それを止める方法について何かアイデアはありますか?