2011-08-03 3 views
1

ユーザーがx.website.comにアクセスしようとすると、特定の状態の結果が表示されます。52サブドメインを作成せずに手動で?サブドメインの値をスクリプトに渡すサブドメイン

htaccessで行う方法はありますか? state.website.com/search.phpにアクセスした場合、状態Xのすべての結果が表示されるので、これを定数変数にする必要があります。

もっと良い方法がありますか?誰でも助けてくれますか?

あなたは

答えて

3

あなたはwildcard DNS record*.example.comとして定義する必要がありますありがとうございました。実際のDNSレコードが定義されていないアクセスされたサブドメインは、ワイルドカードレコードに送信されます。

ワイルドカードレコードの作成が許可されているかどうかは、ドメインレジストラに確認してください。あなたの.htaccessファイルで

、あなたはそうのようなサブドメインをマッピングすることができます:index.phpインサイド

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com$ [NC] 
# The state is captured as %1 
RewriteRule . /index.php?state=%1 [L,QSA] 

# More generically - pass the state to any request 
# I think this will work without going to a redirect loop 
RewriteRule ^(.+)$ $1?state=%1 [L,QSA] 

を使用すると、クエリ文字列から状態を取得した後、あなたは$_SESSIONに保管していることを使用することができ、検索フィルタとして。

+0

だから、私は両方ともしなければならないだろうか? DNSワイルドカードとhtaccess?また、私はこのnotntの仕事がstate.website.com/search.phpと言うことを考えることに間違っていますか?それはindex.phpに渡そうとするでしょうか? –

+0

ワイルドカードDNSレコードと.htaccessの両方が必要です。しかし、 '?state ='のクエリ文字列の値をPHPで '$ _SESSION'に格納し、それを検索のために取り出すことができます。 –

関連する問題