Mod rewrite URL中的域名作为变量
My.htaccess文件具有以下代码: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'],我的变
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],这是有效的,尽管我真的不知道它是做什么的。