【问题标题】:Main domain with codeigniter, subdomain without codeigniter带有codeigniter的主域,没有codeigniter的子域
【发布时间】:2013-12-05 07:37:22
【问题描述】:

我已经将 CodeIgniter 网站上传到服务器上的public_html 文件夹,它可以正常工作。

http://my-site-name-here.com

现在,我创建了一个子域“sub”,public_html 中有一个名为“sub”的目录。我在该文件夹中上传了一个非 CodeIgniter 应用程序。
如果我尝试转到http://sub.my-site-name-here.com,它会给我“500 Internal server error”。
如果我尝试转到 http://my-site-name-here.com/sub,它会给我 CodeIgniter 对未找到页面的响应。

如何设置不使用 CodeIgniter 的子域?

更新:

我正在尝试不同的 htaccess 重写。当前的 .htaccess 内容是:

RewriteEngine on
RewriteBase /
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|img/current|css/current|js/current|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{HTTP_HOST} ^(www\.)?spiders\.haitspirit\.com$
RewriteCond %{REQUEST_URI} !^/spiders
RewriteRule ^(.*)$ /spiders/$1 [L]

更新 2:

我还将所有 CodeIgniter 目录和文件(index.php 除外)移动到名为“main”的目录中,并相应地编辑了index.php。主站点仍然有效,子域没有。

更新 3:

我在localhost 中尝试过同样的事情,现在能够获取服务器错误日志。错误显示已达到最大重定向循环数。

【问题讨论】:

  • 我建议您查看您的日志并找出 500 内部服务器错误是关于什么的。
  • 你必须在cpanel中创建子域,完成了吗?
  • @Mischa 我看不到服务器错误日志。我的主机提供商/控制面板对此没有选择。虽然我已经为此生成了支持票,但仍然没有得到他们的回复。
  • 是的@Maulikpatel,我已经使用 cpanel 创建了子域,它自动为该子域创建了一个目录。
  • 你能粘贴你的 htaccess 内容吗?您是否禁用了您的子域文件夹的重写条件规则??

标签: php .htaccess codeigniter


【解决方案1】:

我得到了解决方案。贴在这里。它可以帮助其他使用 CodeIgniter 包作为主域和非 CodeIgniter 包作为子域并且无法重定向的人。

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ^/sub/ [NC]
RewriteRule ^(.*)$ /index.php/errors/page_missing [L]

RewriteCond %{HTTP_HOST} ^sub\.sitename\.com$
RewriteCond $1 !^sub/
RewriteRule ^(.*)$ /sub/$1 [L]

RewriteCond $1 !^(index\.php|img|css|js|robots\.txt|sub)
RewriteRule ^(.*)$ /index.php/$1 [L]

其中sub 是子域的名称(假设目录也使用相同的名称),sitename 是您的域的名称。

如果有人尝试访问http://sitename.com/sub,那么它将显示来自 CodeIgniter 的404 Not found 页面。

希望这会有所帮助..

【讨论】:

    猜你喜欢
    • 2011-08-29
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-08
    • 2014-03-08
    • 2015-03-10
    • 1970-01-01
    相关资源
    最近更新 更多