php - 如何为我的 codeigniter 网站编写 .htaccess 文件

标签 php .htaccess codeigniter seo

这是我的带有 SEO 标题的 URL

http://prdemos.com/Web/2015/assetsrecovered/index.php/pages/page?seo=ar-about-us

我想改变它

http://prdemos.com/Web/2015/assetsrecovered/ar-about-us

index.php/pages/page?seo=这部分应该删除。

最佳答案

首先我设置config.php

$config['index_page'] = ""; 

$config['uri_protocol'] = 'PATH_INFO';

之后在 routes.php

$route['default_controller'] = "welcome";  // Default Controller
$route['pages/([a-zA-Z-0-9.&_]+)'] = "pages/index/$1";
$route['404_override'] = '';

我在我的 header.php

中调用了带有 slug(或 SEO 标题)的动态菜单
<?php
foreach($menu as $menu_item){
?>
<li>
<a href="<?php echo base_url();?>pages/<?php echo $menu_item['seo'];?>">
<?php echo $menu_item['name'];?>
</a>
</li>
<?php
}
?>

我的 Controller 是pages.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Pages extends CI_Controller {

    public function index($seo='')
    {
      $this->load->model('MPages');
      $data['seo']=$this->MPages->get_seo_by_page_slug($seo)->result();
      // Loading Common Views
        $this->load->view('header',$data);
        $this->load->view('topbar',$data);
        $this->load->view('mypage_view',$data);
    }
}

我终于得到了这些 URL

http://mysitelive/pages/ar-about-us
http://mysitelive/pages/ar-services

关于php - 如何为我的 codeigniter 网站编写 .htaccess 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34220413/

相关文章:

php - 利用浏览器缓存,如何使用 apache 或 .htaccess?

.htaccess - 设置内部 foswiki(只有授权才能查看/编辑)

mysql - where 子句中的列 'id' 不明确

php - CodeIgniter 迁移在本地运行但不在服务器上运行?

php - 雅虎天气 API WOEID 检索

php - Laravel 保护表单隐藏字段和 url

php - 如果我的查询中有太多 OR 运算符,如何优化 mysql 查询?

php - 从 Android 应用程序 POST 数组列表到 PHP 页面

apache - 在整个网站上强制使用 https,但不在一个文件夹上强制使用 https

apache - 漂亮的 URL 重写有时使用 "?"有时不使用