2012-07-19 39 views
7

Tôi đang triển khai Slim Framework cho PHP và mọi thứ dường như hoạt động tốt. Tuy nhiên, cách duy nhất tôi có thể lấy nó để làm việc là bằng cách đặt /index.php trong URL như thế này:Làm cách nào để có Khung làm việc Slim mà không phải đặt /index.php trong URL?

http://www.example.com/index.php/members/1

Tôi muốn nó hoạt động như thế này:

http://www.example.com/members/1

Tôi có cảm giác nó có liên quan đến .htaccess nhưng tôi không chắc chắn. Đây là của tôi .htaccess:

RewriteCond %{REQUEST_FILENAME} !-f 
# RewriteRule^./index.php [QSA,L] 
RewriteRule^. [QSA,L] 
+0

Có cùng sự cố ... Tôi có thể lấy/để định tuyến lại tới index.php nhưng mọi subdir không bị định tuyến lại ... –

Trả lời

5

Khôi phục nhận xét (#) và loại bỏ dòng khác sẽ giúp ích. Khi bạn tải xuống Slim Framework, nó cũng là originally had this in the .htaccess.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^./index.php [QSA,L] 

Ngoài ra, bạn nên đi xa mà không có nó.

+0

Cảm ơn, @bazmegakapa. Đó là những gì tôi ban đầu có trong .htaccess của tôi nhưng nó vẫn không có vẻ làm việc. Tôi có cảm giác Công cụ viết lại của tôi có thể không được bật. Tôi đang cố gắng để tshoot này ngay bây giờ. – Progger

4

Tôi nghĩ rằng câu trả lời này đến muộn, nhưng sau khi thông tin của liên kết này http://docs.slimframework.com/routing/rewrite/
Những gì tôi cần là để thêm AllowOverride All tuyên bố cấu hình máy chủ ảo của tôi, và điều đó làm việc cho tôi.

+0

Đã không đến muộn ở tất cả, nó đã giúp tôi ... tôi hoàn toàn quên cấu hình tính năng đó trong máy chủ mới của tôi;) Cảm ơn! – andufo

0

Kiểm tra máy chủ ảo của bạn và allowOverRide all.

RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^/index.php [QSA,L] 
Các vấn đề liên quan