2013-06-04 62 views
10

Tôi muốn liên kết đến các trang trong trang web của tôi, ví dụ: Không: mywebsite.com/about.html Nhưng: mywebsite.com/about/Cách liên kết đến các trang không có phần mở rộng .html?

Tôi đã thấy các trang web khác nhau thực hiện việc này nhưng có vẻ như chúng cũng phản ứng khác với mọi thứ:

Apple.com: apple.com/iphone/ works, apple.com/iphone/index.html works, apple.com/iphone redirects.

Opera.com: opera.com/mobile/ redirects, opera.com/mobile works, opera.com/mobile.html hiện không hoạt động.

Mozilla.com: mozilla.org/en-US/ works, mozilla.org/en-US chuyển hướng, mozilla.org/en-US/index.html hiện không hoạt động.

Điều gì dẫn đến một câu hỏi khác: Có các phương pháp khác nhau cho điều này không?

Chỉnh sửa: Dường như Apple sử dụng thư mục cho mọi trang, ví dụ: một thư mục có tên 'iphone' với một tệp index.html bên trong nó? Nhưng Opera và Mozilla sử dụng thứ gì đó trong tệp .htaccess?

+0

Kiểm tra .htaccess – Matheno

+2

Nó được gọi là URL viết lại ... bây giờ đây là điểm bắt đầu của bạn, đi và đọc :-) –

Trả lời

6

Họ đang sử dụng .htaccessURL rewriting. Đây là một phần của cấu hình máy chủ. Bạn không thể làm điều đó chỉ với html.

page giải thích các khái niệm cơ bản về viết lại URL.

+0

URL có viết lại trong tệp .htaccess không? Và tất cả chúng đều sử dụng khác nhau .htaccess và/hoặc URL viết lại mọi thứ? – user2451987

+0

Có, bạn có thể xác định các quy tắc làm sáng tỏ trong .htaccess của bạn Có rất nhiều trang web xử lý vấn đề này Hãy xem ví dụ tốt của @ Marijke – ibi0tux

5

Thư mục của bạn sau đó phải chứa tệp: index.*. Giống như: /iphone/index.html, mà có thể là/iphone/cũng

Hoặc làm việc với .htaccess

+1

Điều gì là tốt hơn để sử dụng? – user2451987

+1

phụ thuộc vào mục đích.Nếu bạn muốn trang web của bạn được giải quyết thông qua foo.com/folder/ bạn có thể muốn sử dụng 'index. *', Bởi vì nó dễ dàng hơn và ít phức tạp hơn. – mutex36

10

Extensions Loại bỏ

Để loại bỏ phần mở rộng .php từ một file PHP ví dụ yoursite. com/wallpaper.php để yoursite.com/wallpaper bạn phải thêm đoạn mã sau trong tập tin .htaccess:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

Nếu bạn muốn xóa đuôi tệp .html từ một tập tin html ví dụ yoursite.com/ wallp aper.html đến yoursite.com/wallpaper bạn chỉ cần thay đổi dòng cuối cùng từ mã ở trên để khớp với tên tệp:

RewriteRule ^([^\.]+)$ $1.html [NC,L] 

Đó là nó! Bây giờ bạn có thể liên kết các trang bên trong tài liệu HTML mà không cần phải thêm phần mở rộng của trang. Ví dụ:

<a href="http://whatever.com/wallpaper" title="wallpaper">wallpaper</a> 
0

Trong tập tin .htaccess trong thư mục các trang web gốc của bạn chỉ cần thêm dòng sau:

# ---- Render pages without urls 
Options +MultiViews 
1

Hãy thuộc tính href của bạn bằng các trang web mà bạn muốn liên kết hoặc .. Nếu bạn cần phải di chuyển lên một thư mục.

Ví dụ: href = "contact.html" Ví dụ: href = "../ liên kết/liên hệ.html "

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