【问题标题】:htaccess redirection not working in codeigniterhtaccess 重定向在 codeigniter 中不起作用
【发布时间】:2013-05-08 23:20:42
【问题描述】:

我的.htaccess 代码如下:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /annsenglishmediumschool
    RewriteCond %{HTTP_HOST} ^(.+?)\.annsenglishmediumschool\.com$
    RewriteRule .* http://annsenglishmediumschool.com/index.php/%1 [L]
</IfModule>

我需要的是当用户类型为(anystring).mysite.com 时应该转到mysite.com/mycontroller/myaction/(anystring),以捕获 mycontroller 中的任何字符串。问题是它现在将www 向右移动,因为当我输入www.annsenglishmediumschool.com 时它转到annsenglishmediumschool.com/index.php/www

如何解决这个问题?谢谢。

EDIT:我的 cpanel 重定向显示如下:

    Domain:(.+?).annsenglishmediumschool.com
    Directory: /.* 
    Redirect Url :http://annsenglishmediumschool.com/index.php/%1

这有什么问题吗?

【问题讨论】:

    标签: php .htaccess codeigniter url-rewriting


    【解决方案1】:

    只需添加一个检查以确保它不以 www 开头

    RewriteCond %{REQUEST_URI} ^(.+?)\.annsenglishmediumschool\.com$
    RewriteCond %{REQUEST_URI} !^www
    RewriteRule .* http://annsenglishmediumschool.com/index.php/%1 [L]
    

    【讨论】:

    • 我认为它被视为另一个网站,因为当我输入“shops.annsenglishmediumschool.com”时它给了我这个错误:“抱歉,找不到网站shops.annsenglishmediumschool.com”
    • 您是否设置了子域?在您的 cpanel 或 google 中搜索“设置子域”。另外,check this out
    • 那么是否需要在 cpanel 中手动设置子域?不适用于 .htaccess (当输入站点为“subdomain.domain.com”时)?我在 codeigniter 中,所以我不知道它在 cpanel 中设置子域的效果如何
    • .htaccess 与 apache 一起工作——网络服务器——它与 CodeIgniter 无关(尽管你可以同时使用两者)。如果您将 htaccess 设置为重定向或指向子域,则子域必须存在于网络服务器上才能正常工作。您通过您的网络服务器/网络主机设置子域;在您的情况下,您可以使用 cpanel:docs.cpanel.net/twiki/bin/view/AllDocumentation/CpanelDocs/…
    • 对。您需要在域的 DNS 配置中添加一个条目。可以使用 CNAME 或 A *.domain.com 将所有内容指向您的服务器。然后 htaccess 会将其指向商店控制器。
    猜你喜欢
    • 2016-01-02
    • 1970-01-01
    • 2015-03-07
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多