首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess在不重定向的情况下重写多个urls

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

Stack Overflow用户
提问于 2013-04-24 16:07:43
回答 2查看 499关注 0票数 1

好的,所以我有像这些demo1.domain.net,demo2.domain.net,demo3.domain.net和所有需要显示子文件夹的内容的urls,例如demo1.domain.net将显示domain.net/websites/demo1的内容我需要这样做的方式,即所有的域名,如$whatever.domain.net到domain.net/网站/$Whatever.domain.net,我已经启用了通配符域名,我似乎不能确定它,请记住,我不希望它重定向。

这是我尝试过的

代码语言:javascript
复制
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?[^.]+\.domain\.net.*$
RewriteRule /websites/$1 [L]

我只是通过这个获得了domain.net的主页。

您的帮助我们将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-24 16:18:05

Close,试试这个:

代码语言:javascript
复制
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/websites/
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+\.domain\.net.*)$ [NC]
RewriteRule ^(.*)$ /websites/%2/$1 [L]

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

票数 1
EN

Stack Overflow用户

发布于 2013-04-24 16:37:53

我想,我能应付得来!您是否可以再次尝试这些.htaccess指令:

代码语言:javascript
复制
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.

现在,如果假设是$whatever__.domain.net到domain.net/websites/$whatever.domain.net,那么你可以试试这个:

代码语言:javascript
复制
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]

或者,下面的代码可能是您将来想要的:

代码语言:javascript
复制
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]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16186721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档