【问题标题】:How to change the url in codelginter如何更改codeigniter中的url
【发布时间】:2013-04-26 10:04:47
【问题描述】:

我的网址是http://mydomain.com/controllername/method/

现在我需要像这样的网站网址。 http://mydomain.com/method.

mydomain name 想要作为控制器名称访问。 例如。网址喜欢 www.testing.com/pages。 'testing' 在 codeigniter 中充当控制器。

说明如何从域名中获取控制器名称。以及如何从 url 中删除控制器名称(www.mydomain.com/controllername/method)。

我需要像 www.controllername.com/method 这样的网址

【问题讨论】:

    标签: php html codeigniter


    【解决方案1】:

    在 application/config/routes.php 中使用此代码

    $route['method'] = 'controllername/method';
    

    用于路由。

    【讨论】:

      【解决方案2】:

      使用路线。 Routes in codeigniter

      【讨论】:

        【解决方案3】:

        你必须在

        中定义路由

        application/config/routes.php.

        http://ellislab.com/codeigniter/user-guide/general/routing.html

        这可能会有所帮助。

        【讨论】:

          【解决方案4】:

          IMO 这最好使用您的 .htaccess 文件而不是 CI 路由来完成。我对这些规则不是最好的,所以可能存在拼写错误,这是一般的想法:

          // If HOST contains www, strip www.
          RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
          RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
          
          // If URI contains DOMAIN.COM, it was probably just redirected, dont do it again!
          RewriteCond %{REQUEST_URI} !^%{HTTP_HOST}
          // Re-write http://domain.com/method to http://domain.com/domain.com/method
          RewriteRule (.*) http://%{HTTP_HOST}/%{HTTP_HOST}/$1 [L]
          

          【讨论】:

          • 我很欣赏建设性的批评。有人可以就我的回答被否决的原因提供一些反馈。我在这里看到许多其他答案,它们并没有试图回答 OP 的问题,但它们已被赞成。他想提取域名并将其用作控制器......非常规......所以我提供了一种使用众所周知的 Apache mod 执行此操作的方法,而不是尝试重新发明称为 CodeIgniter 的轮子。所以...如果您知道得更多,请帮助我们。
          猜你喜欢
          • 1970-01-01
          • 2010-11-20
          • 1970-01-01
          • 2018-03-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多