Получить поддомен в .htaccess - PullRequest
1 голос
/ 27 марта 2020

У меня есть следующее содержимое .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{HTTP_HOST} ^(.*)\.*(.+) 

RewriteRule ^((?s).*)$ index.php?_uri=/$1&_subdomain=%1&_host=%3 [QSA,L]

Я хочу получить subdomain URL (если он существует), но когда я добавляю квантификатор к \., результат _subdomain - example.localhost вместо example . Полный URL-адрес: example.localhost . Кто-нибудь может мне объяснить?

1 Ответ

1 голос
/ 27 марта 2020

Использование ^(.*)\.(.+)

Ваше текущее регулярное выражение делает опцию . необязательной, в то время как это должно требоваться ровно один раз. Поскольку \.* соответствует 0 или более раз, следовательно, жадное сопоставление ^(.*) захватывает все до последнего символа, который соответствует (.+)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...