【问题标题】:how can i do this url (ca.mysite.com) on codeigniter?我如何在 codeigniter 上执行此网址(ca.mysite.com)?
【发布时间】:2013-04-18 21:46:47
【问题描述】:

我正在制作一个网站,将用于发布广告列表,如 backpage 或 craigslist,

现在我遇到了 URL 问题,因为目前它仅在美国城市可用,

例如:www.mysite.com/birmingham/ 这个我没问题,每个美国城市的 url 都会是这样的www.mysite.com/city

现在我希望它可以在国际国家使用, 我现在的网址有问题,例如多伦多,我希望网址像 ca.mysite.com/toronto,因为多伦多在加拿大,我不知道该怎么做,对不起,我是 codeigniter 的新手

谢谢,希望我的问题很清楚。

【问题讨论】:

    标签: php codeigniter url rewrite subdomain


    【解决方案1】:

    使用这个 htaccess 代码

    RewriteCond %{HTTP_HOST} ^mysite.com$ [NC]
    RewriteRule ^(.+)$ http://$1.mysite.com [L,R=301]
    

    现在您可以访问任何国家/地区。喜欢加拿大

    ca.mysite.com 
    

    【讨论】:

    • 这是故事的一部分。还请提及他们已经为该域设置了 Catch All DNS 条目,或者至少在 DNS 中添加了他们希望处理的所有国家/地区命名的子域
    【解决方案2】:

    您好,只需在您的 application/config/config.php 中将以下代码替换为 $config['base_url']

    if(isset($_SERVER['HTTP_HOST']))
    {
        $config['base_url'] = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on' ? 'https' : 'http';
        $config['base_url'] .= '://'. $_SERVER['HTTP_HOST'];
        $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
    }
    
    else
    {
        $config['base_url'] = 'http://localhost/';
    }
    

    不需要放任何东西htaccess文件

    【讨论】:

    • 感谢您的回答,嗯,这是如何工作的?我需要设置什么吗?,当它是国际城市时,我只希望我的 url 像一个子域(ca.mysite.com/city),但如果它在美国境内,它只会是 www.mysite.com/city,我试过这个,但我不知道它是如何工作的,谢谢
    • 这将非常有用,我已经将此代码用于我的一个项目,其中每个大学都有自己的子域,这是主站点 www.uni.com 的示例,IT 学院有 it.uni。 com,商学院有ba.uni.com。您可以使用不同的虚拟主机在本地主机上尝试相同的代码
    • 在虚拟主机中是怎么做的?你将如何做子域?再次感谢
    • 好吧,在您的情况下不需要虚拟主机,如果您使用的是 Windows 操作系统,只需编辑您的主机文件,它会显示 127.0.0.1 localhost 在它下面放置 127.0.0.1 ca.localhost 并保存以防 Mac操作系统试试这个小程序编辑主机文件macupdate.com/app/mac/40003/hosts
    • 嗯,我已经完成了我在 ca.mysite.com 上所做的所有部分,但我遇到了禁止的 403 错误,嗯,我需要在 /root 中安装另一个 codeigniter 吗?
    猜你喜欢
    • 2011-01-24
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2023-03-18
    • 2016-08-24
    • 2010-12-11
    相关资源
    最近更新 更多