2013-08-02 41 views
14

Có thể định cấu hình Apache để không hiển thị đuôi tệp không? Ví dụ: Giả sử tôi có domain.com/page.php nhưng muốn có domain.com/page làm url.đặt liên kết không có phần mở rộng tệp (.php)

Bất kỳ ý tưởng nào?

+1

nhờ vào tất cả !! – Braggae

+0

@ Braggae Bạn được chào đón rất nhiều, * chúc mừng *. –

Trả lời

3

Đây được gọi là viết lại URL. Tôi đã phải sử dụng nó lần đầu tiên gần đây và tôi đã sử dụng this tutorial để tìm hiểu, hy vọng bạn cũng sẽ tìm thấy nó tuyệt vời:

2

Điều này thực sự đơn giản. Chỉ cần tạo tệp .htaccess và đặt nó vào thư mục gốc, sau đó bạn có thể ghi đè url của riêng mình.

Use this manual.

2

Bạn muốn có tính năng máy chủ web được gọi là viết lại URL - mọi ứng dụng máy chủ web (apache, IIS, nginx) hỗ trợ điều này. Như tên cho thấy, nó lấy URL được yêu cầu và ghi lại nó vào một định dạng cụ thể mà bạn xác định.

Có nhiều hướng dẫn có sẵn trên www, ngay cả khi bạn đang sử dụng giải pháp lưu trữ được chia sẻ, bạn vẫn có thể thêm/sửa đổi tệp .htaccess để thực hiện việc này.

28

đặt này là tập tin .htaccess bạn

#turn on url rewriting 
RewriteEngine on 

#remove the need for .php extention 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

Điều này cho phép bạn truy cập vào các file .php mà không có phần mở rộng, vì vậy liên kết của bạn nên đọc

href="/somepage" 

và điều này sẽ chỉ đạo để

href="/somepage.php" 
14

Ngoài ra còn có MultiViews làm tùy chọn cấu hình vhost hoặc .htaccess. Xem http://httpd.apache.org/docs/2.2/content-negotiation.html#multiviews

Từ trang đó:

Hiệu quả của MultiViews là như sau: nếu máy chủ nhận được yêu cầu/some/dir/foo, nếu/some/dir đã MultiViews kích hoạt, và/some/dir/foo không tồn tại, sau đó máy chủ đọc thư mục tìm kiếm các tệp có tên foo. * và tạo bản đồ loại có tên tất cả các tệp đó, gán cho chúng cùng loại phương tiện và mã hóa nội dung sẽ có nếu khách hàng đã yêu cầu một người trong số họ theo tên. Sau đó, chọn kết quả phù hợp nhất với yêu cầu của khách hàng.

+3

Multiviews có thể khá khó chịu, và nhận được trong cách bình thường mod_rewrite quy tắc nếu sự lựa chọn của tên tập tin và viết lại các mẫu chồng lên nhau. –

+0

Rất đúng. Sử dụng cẩn thận. –

+1

Tôi đã thêm MultiViews vào vhost của mình trong 2 ngày. Tôi đã không thể tìm ra lý do tại sao url yêu cầu nhận được của tôi không hoạt động ....Cảm ơn @TheGingerDog –

1

Đặt đây là tập tin của bạn .htaccess

RewriteEngine On 
 
RewriteRule ^page?$ page.php

<a href="page">page</a>

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