将 Codeigniter 项目从主域复制到子域
Posted
技术标签:
【中文标题】将 Codeigniter 项目从主域复制到子域【英文标题】:Copy Codeigniter project from Main domain to subdomain 【发布时间】:2015-03-10 00:49:59 【问题描述】:我想为我当前运行的 codeigniter 网站创建一个副本,例如 http://www.example.com 并将副本放入 新的子域“beta”,例如 http://beta.example.com用于测试目的和站点修改,以便实时站点不会因修改而不受管理。
所以它是关于制作一个网站副本以用于测试目的和在 beta 子域下进行修改。我该怎么做?
这是我在 beta 子域中的文件结构
【问题讨论】:
哦,既然你用的是CodeIgniter,那么db配置应该在文件application/config/database.php中 【参考方案1】:在你的主目录中使用这个 htaccess 文件
对于像 www.website.com 这样的网址
RewriteEngine on
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule .* /index.php/$0 [PT,L]
对于您的测试链接,如 www.website/test,请使用以下代码
RewriteEngine on
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule .* /test/index.php/$0 [PT,L]
【讨论】:
【参考方案2】:首先使用您的 cpanel 添加一个新的子域:http://documentation.cpanel.net/display/ALD/Subdomains。添加子域时,您必须输入其文档根路径。
如果您的网站使用数据库,那么您需要使用 cPanel 中的 mysql 数据库选项创建一个新数据库。创建数据库并为其分配用户后,打开 phpMyAdmin,转到原始数据库,转到 phpMyAdmin 中的操作选项卡,然后将该数据库复制到您创建的新数据库中。
打开文件管理器并复制与您的主要网站相关的所有文件。将它们粘贴到子域的文档根目录中。
如果您的网站使用数据库,您最终必须修改网站代码中的数据库连接参数。您可以通过 grep 命令轻松找到 config 的位置:
grep -r "mysql" /public_html/subdomain/
现在,当您打开 http://beta.example.com 时,您应该会看到副本网站。
【讨论】:
出现此错误:您无权访问此服务器上的 /。此外,在尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。 你的 base_url 设置是否正确? ***.com/questions/11792268/… base url 根据主站设置 不,应该设置为子域。 如果仍然出现错误,请使用您服务器的错误日志找出 500 Internal Server Error 的原因,然后您需要更正它。以上是关于将 Codeigniter 项目从主域复制到子域的主要内容,如果未能解决你的问题,请参考以下文章
AWS Cloudfront + 负载均衡器,url 从主域更改为负载均衡器子域