У меня есть сервер, который я настраиваю для перезаписи поддоменов в качестве параметров получения
Итак,
subdomain.example.com / блог / тест
на самом деле будет указывать на:
example.com / index.php? Сайт = подобласть & запрос = блог / тест
Я настроил домен с записью A со значением *, и я настроил сервер на ALIAS * .example.com на example.com. Все это работает.
В моем .htaccess у меня есть
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^([^/\.]+).example.com(.*)$ [NC]
RewriteRule ^(.*)$ index.php?website=%1&request=%2 [L]
Вот var_dump () $ _GET, когда я иду на subdomain.example.com/blog/test
array(2) { ["website"]=> string(8) "subdomain" ["request"]=> string(0) "" }
субдомен прекрасно входит в параметр веб-сайта, но остальная часть запроса отсутствует в параметре запроса. Есть идеи? Я очень ценю помощь. Заранее спасибо.
Кстати, если я использую
RewriteRule ^(.*)$ index.php?website=%1&request=$1 [L]
Затем я получаю index.php в параметре запроса. Если это говорит вам о чем-то дополнительном.
ПОПРАВКИ
По предложению Джона я попробовал следующее
RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} ^([^/\.]+).wescms.com(.*) [NC]
RewriteRule ^(.*)$ index.php?website=%1&request=%{REQUEST_URI} [NC,L]
Если вы зайдете на subdomain.example.com / blog / test , REQUEST_URI вернется с index.php
Я сделал var_dump () переменной $ _SERVER, и в REQUEST_URI он показывает / blog / test, но он не проходит через RewriteRule.
Если я использую THE_REQUEST в правиле перезаписи, а не REQUEST_URI, я получаю обратно то, что мне нужно, плюс некоторые дополнительные биты, но я был бы признателен за понимание того, почему REQUEST_URI не работает, как в моем последнем примере. Благодарю.