Mod rewrite URL中的域名作为变量

Mod rewrite URL中的域名作为变量,mod-rewrite,Mod Rewrite,My.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'],我的变

My.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]
一切正常,但我想从URL中删除“domain/”部分

我已经找过了,但什么也找不到。有人能帮我做这个吗?

类似的事情

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
试试这个规则:

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

这将使用包含至少一个点(
foo.bar
foo.bar.baz
,等等)的URL路径将任何请求重写为index.php。

谢谢!这是可行的,但重定向为非搜索引擎友好的URL。我想保留我的示例中的url。k,如果您删除[R=302],它将执行内部重定向,保留整洁的url(上面编辑)谢谢!您编写的代码对我不起作用(在正斜杠后输入的域名出现404 not Found错误)。我对mod_rewrite非常陌生,但我修改了最后一行,将其改写为RewriteRule^([^/]+)$index.php?url=$1[L],这是有效的,尽管我真的不知道它是做什么的。