Вам необходимо определить запись DNS с подстановочным знаком как *.example.com
. Любой доступ к поддомену, для которого не определена реальная запись DNS, будет отправлен в запись с подстановочными знаками.
Узнайте у своего регистратора домена, разрешено ли вам создавать запись с подстановочными знаками.
В вашем файле .htaccess вы можете отобразить субдомены следующим образом:
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]
Внутри index.php
как только вы получили состояние из строки запроса, вы можете сохранить его в $_SESSION
и использовать его в качестве фильтра поиска.