1

わかりました、これを含むこの.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では、pGETは通過しませんが、私が追加した特定のクエリは通過します。

だから私がそうするなら

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が自動的に追加されます。それを止める方法について何かアイデアはありますか?

4

1 に答える 1

1

問題が解決しました:-MultiViewshttpd.confファイルに追加する必要がありました。

于 2012-06-25T21:07:20.427 に答える