URL中的域名作为变量

时间:2010-01-11 03:48:18

标签: mod-rewrite

我的.htaccess文件包含以下代码:

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

我正在尝试从以下网址获取域名作为变量:

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]

一切正常,但我想从网址中删除“域/”部分。

我搜索过这个,但找不到任何东西。有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

类似

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

答案 1 :(得分:0)

尝试此规则:

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

这将使用包含至少一个点(foo.barfoo.bar.baz等)的网址路径重写任何请求到您的 index.php