从子目录加载新站点作为索引
Posted
技术标签:
【中文标题】从子目录加载新站点作为索引【英文标题】:Load new site from subdirectory as index 【发布时间】:2011-11-05 01:42:18 【问题描述】:我想从包含默认 index.html 页面的子目录加载我的新网站。
在我的 public_html 中,我有 /oldsite/ 和 /newsite/ 文件夹...
然后.. 当我访问 http://www.mysite.com/.. 我希望它从 http://www.mysite.com/newsite/ 加载所有内容而不重定向。如果可能的话,我想用 .htaccess mod_rewrite 来做。
谁能帮我解决这个问题。如何做到这一点?
【问题讨论】:
【参考方案1】:# to ensure that server already know that you going to use mod-rewrite
RewriteEngine on
# if the request from http is mysite.com or www.mysite.com go to next line (else abort)
RewriteCond %HTTP_HOST ^(www.)?mysite.com$ [NC]
# if the request destination is not the folder /newsite go to next line
RewriteCond %REQUEST_URI !^/newsite/
# if the requested name is not an existed file in public_html directory
RewriteCond %REQUEST_FILENAME !-f
# if the requested name is not an existed directory in public_html directory
RewriteCond %REQUEST_FILENAME !-d
# forward request to /newsite/
RewriteRule ^(.*)$ /newsite/$1
# if the request domain is mysite.com (with out any string afterward), go to next line
RewriteCond %HTTP_HOST ^(www.)?mysite.com$ [NC]
# forward request to the default file under newsite directory
RewriteRule ^(/)?$ newsite/ [L]
【讨论】:
感谢发帖。这解决了我的问题。我尝试了RewriteCond %HTTP_HOST ^(www.)?mysite.com$
,然后是RewriteRule ^(.*)$ /newsite/$1 [QSA,L]
,但没有奏效。【参考方案2】:
部署这样的网站通常不是一个好主意。相反,您应该为站点的实时版本和开发版本创建虚拟主机。如果您当前的托管服务提供商无法做到这一点,您可以使用 public_html 的符号链接,当新版本准备好上线时,只需更改其路径。希望对您有所帮助。
【讨论】:
但是有没有办法用 htaccess 做到这一点? 我认为这可能会有所帮助:***.com/questions/990392/…以上是关于从子目录加载新站点作为索引的主要内容,如果未能解决你的问题,请参考以下文章
opencv 和 Visual Studio 2010 无法从子目录加载图像
Jasmine Rails,未从子目录加载 src_files