Доменное имя в URL как переменная - PullRequest
0 голосов
/ 11 января 2010

Мой файл .htaccess имеет следующий код:

RewriteEngine on
RewriteRule ^/?(.*)$ index.php?domain=$1 [L]

Я пытаюсь получить доменные имена как переменные из URL-адресов, таких как:

hxxp: //www.example.com/www.domain.name или

hxxp: //www.example.com/subdomain.domain.name или

hxxp: //www.example.com/domain.name

но с $ _GET ['domain'] моей переменной всегда будет index.php, а не имена доменов.

С hxxp: //www.example.com/domain/www.domain.name и кодом .htaccess

RewriteEngine on
RewriteRule ^domain/?(.*)$ index.php?url=$1 [L]

все в порядке, но я хотел бы удалить часть 'domain /' из URL.

Я искал это, но ничего не смог найти. Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 11 января 2010

Попробуйте это правило:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^[^/.](\.[^/]+)+$ index.php?domain=$0 [L]

При этом любой запрос будет переписан с URL-путем, который содержит хотя бы одну точку (foo.bar, foo.bar.baz и т. Д.), В ваш index.php .

0 голосов
/ 11 января 2010

что-то вроде

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?domain=$1 [L]

в этом случае $ 1 будет:

http://site/www.example.com        $1 = www.example.com
http://site/www.example.com/xyz    $1 = www.example.com/xyz
...