【问题标题】:Codeigniter specific URL rewritingCodeigniter 特定的 URL 重写
【发布时间】:2013-05-21 11:15:09
【问题描述】:

在我的一个 CI 应用程序中,我有一个名为 movies 的控制器,我在其中显示电影的详细信息,它的 URL 看起来像

http://localhost/movies/index/12/Movie-Name

这里的 12 是用于从数据库中获取值的电影 ID 和用于 SEO URL 的电影名称。

我想将此网址改写为

http://localhost/12-Movie-Name

我已经使用 http://codeigniter.com/wiki/mod_rewrite 从我的应用程序中删除了 index.php

请帮忙 提前致谢

【问题讨论】:

  • 您希望用户访问/movies/index/12/Movie-Name 还是/12-Movie-Name
  • 用户访问 /12-Movie-Name 并使用主键 12 显示电影的详细信息.. 感谢您的回复.. :)

标签: php .htaccess codeigniter url-rewriting


【解决方案1】:

不妨试试

RewriteRule    ^/([0-9]+)\-([^/]+?)/?$  /movies/index/$1/$2

虽然它可能会导致您的 Codeigniter 应用程序的其他部分出现问题。

【讨论】:

  • 有什么办法可以避免其他部分出现问题?
  • 我不确定,这取决于您如何路由应用程序。不过,以防万一,您可能应该检查一下。
【解决方案2】:

或者您可以将其添加到 Codeigniter 路由器

$router['/(:any)'] = 'movies/index/12/$1';

但您的电影 ID 需要设置为带标题的字符串。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多