2012-02-29 59 views
12

Tôi đang làm việc trên một trang web có một vài bộ điều khiển và đã định cấu hình máy chủ của mình để chuyển hướng các yêu cầu cho http://www.host.com/controller/function/params đến http://www.host.com/index.php/controller/function/params. Bây giờ, tôi đang cố gắng để có được một trong các bộ điều khiển của tôi để chuyển hướng đến một số khác, nhưng không cần thêm index.php vào URL, đó là chức năng của hàm redirect(). Có cách nào dễ dàng để làm điều này trong codeigniter? Cảm ơn trước!URL Codeigniter Chuyển hướng mà không cần thêm index.php

Trả lời

62

Bạn có thể sử dụng redirect. Nó chỉ thêm index.php nếu được định cấu hình làm trang chỉ mục của bạn.

Vì vậy, hãy kiểm tra cấu hình index_page của bạn. Nó phải là một chuỗi rỗng:

$config['index_page'] = ''; 

File: app/config/config.php

Thông tin thêm: http://www.codeigniter.com/user_guide/general/urls.html?highlight=mod_rewrite [Phiên bản cập nhật]

+0

Đơn giản như vậy, cảm ơn :) – SuperTron

+0

Bằng cách này, tham số cấu hình đó có ảnh hưởng đến bất kỳ thứ gì khác trong trình mã hóa hoặc là nó có đúng cho chuyển hướng không? – SuperTron

+0

Nếu ảnh hưởng đến một số hàm liên quan đến URL, chẳng hạn như 'site_url()', ví dụ (btw được sử dụng bởi 'chuyển hướng') –

0

bạn cần phải thêm .htaccess khác vào thư mục gốc của dự án dựa codeignitor của bạn và viết có một số quy tắc chuyển hướng như bên dưới ví dụ:

RewriteEngine On 
RewriteBase /codeignitortest/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule (.*) index.php?$1 [QSA,L] 

hoặc có thể thực hiện bên dưới trong ứng dụng/config/config.php

$ config ['index_page'] = 'index.php'; tới $ config ['index_page'] = '';

1

Tôi đã sử dụng $ config ['index_page'] = ''; nó hoạt động.

Các vấn đề liên quan