0

先日、私が抱えていたいくつかの htaccess の問題に関して、ここでの私のクエリをここで助けてくれてありがとう - 問題の原因を突き止めることができるように正しい方向に私を送ってくれました。それを修正する方法。

私のサイトのhtaccessファイルは...

<IfModule mod_rewrite.c>

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.example.org
RewriteCond %{HTTP_HOST} ^(.+).example.org/^(.+)
RewriteRule ^([^/]*)$ http://example.org [P,L]

ErrorDocument 404 /index.php

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

</IfModule>

最初のビットでは、クライアント用の仮想サブドメインを使用できます。それらにはすべて、メイン ドメインの同じファイルが含まれますが、サブドメインに応じてスクリプトによって異なるレイアウトが使用され、データベースから異なるデータがフェッチされます。ただし、このコードは $_POST 変数を破壊しているようです...メインドメインでフォームを送信すると、スクリプトが変数を取得しますが、まったく同じフォームとまったく同じスクリプトを使用するサブドメインでは $_POST 変数が空欄。

$_POST 変数も渡せるようにするには、コードのそのセクションを修正するか、別のビットを追加するにはどうすればよいですか? /logout/?logmeout が認識されるため、最後のセクションを使用してサイトで Get が機能しているように見えますが、失われたのは Post だけです。

4

1 に答える 1

2

そのようなサブドメインの使用を許可する必要があるワイルドカードvhostsがすでに設定されている場合は、メインドメインにリダイレクトする必要はありません。PHPスクリプト$_SERVER['HTTP_HOST']で、アクセスされているサブドメインを確認するだけです。

于 2012-06-22T01:01:21.377 に答える