.htaccess在不重定向的情况下重写多个URL

.htaccess在不重定向的情况下重写多个URL,.htaccess,mod-rewrite,url-rewriting,seo,.htaccess,Mod Rewrite,Url Rewriting,Seo,好的,我有类似于demo1.domain.net、demo2.domain.net、demo3.domain.net的URL,所有这些URL都需要显示子文件夹的内容,如本例所示 demo1.domain.net将显示domain.net/websites/demo1的内容 我需要这样做的方式,所有的域像$whater.domain.net进入domain.net/websites/$whater.domain.net,我已经启用了通配符dns,我似乎无法找到它,请记住我不希望它重定向 这是我试过

好的,我有类似于demo1.domain.net、demo2.domain.net、demo3.domain.net的URL,所有这些URL都需要显示子文件夹的内容,如本例所示 demo1.domain.net将显示domain.net/websites/demo1的内容 我需要这样做的方式,所有的域像$whater.domain.net进入domain.net/websites/$whater.domain.net,我已经启用了通配符dns,我似乎无法找到它,请记住我不希望它重定向

这是我试过的

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?[^.]+\.domain\.net.*$
RewriteRule /websites/$1 [L]
我刚刚用这个打开了domain.net的主页

我们将非常感谢您的帮助。

最后,请尝试以下操作:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/websites/
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+\.domain\.net.*)$ [NC]
RewriteRule ^(.*)$ /websites/%2/$1 [L]

请注意,只有当所有的demo*.domain.net指向与主域相同的文档根(domain.net)时,这才有效。

我想,我可以管理它!请重试这些.htaccess指令:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.net$
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.domain\.net$
RewriteRule ^/?$ http://domain.net/websites/%2 [P]
它将把$whatever.domain.net重写为domain.net/websites/$whatever

现在,如果假设它是$which.domain.net,则可以尝试以下方法:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.net$
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.domain\.net$
RewriteRule ^/?$ http://domain.net/websites/%2.domain.net [P]
或者,下面的代码可能是您将来想要的:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^(www\.)?domain\.net$
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.domain\.net$
RewriteRule ^(.*)$ http://domain.net/websites/%2.domain.net/$1 [P]

它们都指向主根文件夹,但这对我不起作用我收到内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。@user2314536忘记添加排除条件嘿,我犯了一个巨大的错误,抱歉,各位,它应该是$whater.domain.netdomain.net/websites/$whatever.domain.netThanks现在很多了:)希望我能做点什么来向你表示我有多感激:)@user2314536:要表示感谢,你可以(而且你应该)将这两个答案中的任何一个标记为已接受:)错误的请求你的浏览器发送了一个此服务器无法理解的请求。请求标头字段的大小超过服务器限制。X-转发主机/n:(哦,我犯了一个巨大的错误,它应该是它将$whater.domain.net重写为domain.net/websites/$whater.domain.net我得到404个错误页面,再次它应该是$whater.domain.net到domain.net/websites/$whater.domain.net对不起,我对htaccess了解不多如果我把最后的$2改为$1,我会得到/webistes控制器其中一个已处理的错误请求的y索引您的浏览器发送了一个此服务器无法理解的请求。请求标头字段的大小超出了服务器限制。假设在不显示新url的情况下显示: