问题
我正在尝试从子域的根文件夹重定向到子域sub.example.com
的子目录,并将子域保留在地址栏中,例如sub.example.com/subdir1
。
这不是我第一次使用mod_rewrite
,但我不是专家。我以前没有使用mod_proxy
过,但我相信这个任务需要它。
背景
这是我正在处理的项目的一部分,其中网络主机是私有的,但服务器无法修改。我需要使用他们的工具指定所有子域,而不是自己创建重写。这个问题与用作开发站点的子域有关,该子域最终将在不成为子域的情况下上线,例如在上线时sub.example.com
将sub.com
变为。我不能简单地将子域的根文件夹设置为我要重定向到的目录的原因是项目的代码库严重依赖于DOCUMENT_ROOT
内部链接管理,而目标文件夹sub.example.com/subdir1
不是地点。
我做了什么
我首先要说我已经超出了我分配的时间来解决这个问题,主要是出于兴趣。
我做了很多研究,并试图从我看过的资料中提取点点滴滴。但是,除了我查看的来源之一之外,所有来源都只有从子域重定向到站点根目录的子目录的信息,例如sub.example.com
-> example.com/root-subdir
。事实上,上述页面确实包含与我的问题相关的信息的唯一原因是因为提出问题的用户不小心做了我目前正在尝试做的事情。不幸的是,他所做的仍然对我不起作用。这是我现在正在尝试的(但给了我“310 - 重定向太多”错误):
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sub\.example\.com
RewriteRule ^ /subdir1/ [R=301,L]
如前所述,我认为我可能需要使用mod_proxy
它,但我不知道它会是什么样子。
您可以提供的任何帮助将不胜感激。感谢您的帮助!:)