Я переконфигурировал субдомен подстановочного знака *.example.com
, и теперь я могу получить доступ к anysubdomain.example.com
, и всегда нажимаю на одну и ту же установку кодингитера.
Я пытаюсь загрузить другой контент, когда запрашиваются разные субдомены, но мне нужно всегда вызывать один и тот же метод и класс, но параметр нужно менять в зависимости от имени субдомена.
Примеры:
Когда я нажимаю john.example.com
, я хочу видеть то же содержимое, которое вижу, если перейти к example.com/users/profile/john
.
Когда я нажимаю mary.example.com
, я хочу видеть то же содержимое, которое вижу, если перейти к example.com/users/profile/mary
.
ОБНОВЛЕНИЕ:
Я использую этот код, но перенаправляю вместо того, чтобы показывать содержимое, сохраняя URL в качестве субдомена:
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/users/profile/%1/$1 [QSA,L]
ОБНОВЛЕНИЕ 2:
Теперь я изменил свой файл .htaccess на
RewriteCond $1 !^(index\.php|resources|robots\.txt) [NC]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.example\.com$ [NC]
RewriteRule ^(.*)$ index.php?/users/profile/%1/$1 [L,QSA]
И когда я получаю доступ к username.example.com
или когда я получаю доступ к example.com/users/profile/username
(в обоих случаях) и использую var_export
на $_GET
, отображается:
array (
'/users/profile/username/' => '',
)
Но по какой-то неизвестной причине, когда я получаю доступ к example.com/users/profile/username
, я вижу профиль пользователя (справа), но когда я получаю доступ к username.example.com
, я вижу страницу индекса (я тоже ожидал увидеть профиль пользователя).
Примечание: Мой вопрос не совпадает с Этот вопрос , потому что этот вопрос о перенаправлении на контроллеры с именем субдомена (который может быть вручную удалось, потому что контроллеры ограничены), мой вопрос о том, чтобы показать содержимое без перенаправления (правило перезаписи) конкретного контроллера и метода с параметром, равным поддомену (и параметры не могут управляться вручную, потому что нет предел значений для них).