【发布时间】:2016-02-12 23:47:30
【问题描述】:
我需要访问位于我域子文件夹中的网站。
挑战 - 由于我的托管结构,所有站点都位于主域服务器的子文件夹中。域映射到每个站点的这些文件夹。然而,主域像这样映射到服务器根目录 -
• /www/(www.masterdomain.com 的根目录)
/文件夹 1/(www.site1.com 的根目录)
/文件夹 2/(www.site2.com 的根目录)
/文件夹 3/(www.site3.com 的根目录)
/文件夹 4/(主域的所需根)
如果我将 CMS 安装在文件夹 4 中,一切都很好,但 CMS 代码会在服务器根目录中创建新资产(我认为使用 DOCUMENT_ROOT),而不是在子文件夹中。
尝试修复 1:
使用重写删除子文件夹并将所有路径设置为包含子文件夹。 失败 - CMS 可以按需要运行,但资产仍会在根目录中创建。
尝试修复 2:
将子域映射到文件夹并重写 URL 以删除子域。 失败:CMS 在子域上工作并在子文件夹中创建资产(赢!),但无法重写子域。
尝试修复 3:
将子域映射到文件夹,并使用主域中的代理标志以不可见的方式从中加载内容。
取得了进展!主页显示正确的 URL,但链接的文件和子文件夹不起作用。
所以我现在可以通过以下方式访问我的网络应用: app.exampledomain.com(应用程序在所有方面都能完美运行) 要么 exampledomain.com(有效的代理,所有子文件夹和链接都已损坏)
这是我的 htaccess:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Proxy subfolders
RewriteRule ^exampledomain.com/(.+?)?$ http://app.exampledomain.com/$1 [P,L,NC]
# Proxy main
RewriteRule ^(exampledomain.com)?$ http://app.exampledomain.com/ [P,L,NC]
那么为什么我的子文件夹/资产不起作用? .htaccess 有问题吗?逻辑不好?
重要提示 - 子文件夹页面称为 index.php,因此可以从 - /文件夹/ 页面上损坏的链接采用这种格式 - js/foundation.min.js
谢谢。
【问题讨论】:
标签: .htaccess mod-rewrite redirect subdomain mod-proxy