2016-06-27 3 views
2

Я хочу удалить индекс из URL-адреса, который имеет параметры. Его не index.php, а индексная функция внутри контроллера. В настоящее время мой URL выглядит следующим образом www.example.com/app1/index/param1/param2Я хочу удалить индекс из URL-адреса, который имеет параметры

Здесь я хочу удалить индекс из URL, так что URL будет

www.example.com/app1/param1/param2 

Если я сделать это сейчас он показывает мне ошибку, как 404, вероятно, потому что searhces для функции param1 внутри контроллер

+0

Alos chnage Разрешить все –

ответ

2
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

app1 попробовать это .htaccess

, если этот код не работает, то Гото приложения/Co nfig/config.php

// Find the below code 
$config['index_page'] = "index.php" 
// Remove index.php 
$config['index_page'] = "" 
//and 
// Find the below code 
$config['uri_protocol'] = "AUTO" 
// Replace it as 
$config['uri_protocol'] = "REQUEST_URI" 

я надеюсь, что это будет полезно

+0

Пробовал ... до сих пор не работает –

+0

!! Ооо Я вижу .. Вы дали мне этот код, чтобы удалить index.php ... Но это не моя проблема ... У меня уже есть index.php, удаленный из моего URL ... Вот я снова объясняю 1) У меня есть контроллер named app1 2) Внутри app1 у меня есть индексная функция, которая имеет 2 параметра ... 3), и поскольку у него есть параметры, мне нужно вызвать его по URL-адресу, например 'www.example.com/app1/index/param1/param2' 4) Оттуда я хочу удалить индекс, чтобы мой URL-адрес был« www. example.com/app1/param1/param2' –

1

Эй, пожалуйста, следующие шаги,

приложение/Config/config.php

$config['index_page'] = "index.php" to $config['index_page'] = "" 

Корневая папка создания. htaccess file Примечание: убедитесь, что файлне является текстовым.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    #RewriteBase/
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [QSA,L] 
</IfModule> 

Для рабочего файла .htaccess, пожалуйста, скачать здесь http://wikisend.com/download/862912/.htaccess

Примечание: В некоторых случаях настройка по умолчанию для uri_protocol не работает должным образом. Просто замените

$config['uri_protocol'] ="AUTO" to $config['uri_protocol'] = "REQUEST_URI" 

Переходя к техкарт:

CodeIgniter поддержка двух типов техкарт я) подстановочные знаки б) регулярные выражения

Я даю вам подстановочные знаки пример смотрите ниже:

application/config/routes.php место эта линия

$route['/app1/index/(:num)/(:num)'] = "/app1/$1/$1"; 

Для получения дополнительной информации, пожалуйста, смотрите официальный документ http://www.codeigniter.com/userguide3/general/routing.html

+0

Пробовал ... все еще не работает –

+0

Ohh !! Я вижу .. Вы дали мне этот код для удаления index.php ... Но это не моя проблема ... У меня уже есть index.php, удаленный из моего URL ... Вот я снова объясняю 1) У меня есть контроллер named app1 2) Внутри app1 у меня есть функция индекса, которая имеет 2 параметра ... 3), и поскольку у него есть параметры, мне нужно называть его по URL-адресу, например 'www.example.com/app1/index/param1/param2' 4) Оттуда я хочу удалить индекс, чтобы мой URL-адрес был «www.example.com/app1/param1/param2' –

+0

. Пожалуйста, проверьте ответ. Я обновил его, он будет вам полезен. –

0

Как ваш URL выше, ваш контроллер выглядит следующим образом:

<?php 
class App1 extends CI_Controller 
{ 
    public function __construct() 
    { 
    parent::__construct(); 
    } 

    public function index($param1, $param2) 
    { 
    // ...your code here 
    } 
} 

Попробуйте изменить ваш контроллер снова, так что вы не должны использовать в качестве index функция.

<?php 
class Apps extends CI_Controller 
{ 
    public function __construct() 
    { 
    parent::__construct(); 
    } 

public function app1($param1, $param2) 
{ 
    // ... your code here 
} 
Смежные вопросы