MVC index.php в каждом URL

Сегодня я впервые начал использовать codeigniter, хотя раньше использовал asp.net mvc. Мне интересно, почему мой URL все время нуждается в index.php при запуске?

пример:

http://localhost/index.php/mozilla-developing-chromecast-competitor-that-runs-firefox-os-report

В моем контроллере нет функции index.php. Я почти уверен, что это глупый вопрос, но я пытался исправить это более часа и до сих пор не знаю.

маршруты:

$route['(:any)'] = 'pages/view/$1';
$route['default_controller'] = 'pages/home';

контроллер

class Pages extends CI_Controller {

public function __construct()
{
    parent::__construct();
    $this->load->model('pages_model');
}

public function home()
{
    $data['blog'] = $this->pages_model->get_blog();
    $data['title'] = 'Blog archive';

    $this->load->view('templates/header', $data);
    $this->load->view('pages/home', $data);
    $this->load->view('templates/footer');
}

public function about()
{
    $data['title'] = 'About us';

    $this->load->view('templates/header', $data);
    $this->load->view('pages/about', $data);
    $this->load->view('templates/footer');
}

public function view($slug)
{
    $data['blog_item'] = $this->pages_model->get_blog($slug);

    if (empty($data['blog_item']))
    {
        show_404();
    }

    $data['title'] = $data['blog_item']['title'];

    $this->load->view('templates/header', $data);
    $this->load->view('pages/view', $data);
    $this->load->view('templates/footer');
}
}

HTAaccess

Deny from all

1 ответ

Решение

Взгляните на URL-маршрутизацию в codeigniter: http://www.technicalkeeda.com/details/how-to-create-seo-friendly-url-using-php-codeigniter также проверьте, пожалуйста, и убедитесь, что ваш.htaccess в WebRoot Это хорошо. http://kevinthompson.info/blog/2011/03/04/completely-remove-index-php-from-expressionengine-urls.html. Это должно помочь вам.

Или базовая настройка:

Options +FollowSymlinks
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

Или же

<IfModule mod_rewrite.c>

# Enable Rewrite Engine
# ------------------------------
RewriteEngine On
RewriteBase /

# Redirect index.php Requests
# ------------------------------
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{THE_REQUEST} !/system/.*
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,L]

# Standard ExpressionEngine Rewrite
# ------------------------------
RewriteCond $1 !\.(css|js|gif|jpe?g|png) [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

</IfModule>
Другие вопросы по тегам