首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Apache中重写URL,同时保留查询字符串并转发到子文件夹

在Apache中重写URL,同时保留查询字符串并转发到子文件夹
EN

Stack Overflow用户
提问于 2013-12-04 07:11:25
回答 1查看 118关注 0票数 0

这是我第一次发帖,我真的很感谢你的帮助。

我希望将子域重定向到文件夹,并将其重写到查询字符串(内部-不改变浏览器地址),但也保留查询字符串的余额(如果有的话)。

这应该使用Apache mod_rewrite.来完成。

它还应该排除基域和www扩展(因为它指向根目录)。

我已经完成了DNS (通配符设置)和vhost所需的所有工作,并且不希望使用mod_proxy方法。

这正是我想让它工作的方式。

www.mysite.com转到根目录,mysite.com转到根目录

user1.mysite.com转到app目录和查询字符串以附加user=user1 (不改变浏览器地址)

伊格-

代码语言:javascript
复制
user1.mysite.com should resolve (internally) to mysite.com/myApp/index.php?user=user1
user2.mysite.com should resolve (internally) to mysite.com/myApp/index.php?user=user2

user1.mysite.com/mypage.php should resolve (internally) to mysite.com/myApp/mypage.php?user=user1
user1.mysite.com/mypage.php?myval=whateverval should resolve (internally) to mysite.com/myApp/mypage.php?user=user1&?myval=whateverval

我现有的代码如下所示,但不隐式工作(浏览器地址栏更改)。有人能帮帮我吗?

谢了,谢伦

EN

回答 1

Stack Overflow用户

发布于 2013-12-04 07:34:41

如果不想使用mod_proxy,则需要将所有通配符子域指向与主域相同的文档根。您可以在ServerAlias *.mysite.com的vhost设置中使用www.mysite.com来完成此操作。然后在您的文档根目录中的htaccess文件中:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.+)\.mysite\.com$ [NC]
RewriteRule ^(mypage\.php)?$ /myApp/index.php?user=%1 [L,QSA]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20369229

复制
相关文章

相似问题

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