2012-09-19 44 views
5

Tôi đang cố gắng để ghi các file .htaccess để bất cứ điều gì người dùng yêu cầu, ông sẽ có trang index.htmlhtaccess viết lại tất cả để index.html

Tôi đã viết này:

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule .* index.html [NC] 

tôi hiểu rằng điều này sẽ gây ra: bất kể URL yêu cầu đến là gì, tức là, www.domain.com/*** (bất kỳ cái gì đến sau dấu gạch chéo), kết quả sẽ là trang www.domain.com/index.html

Tuy nhiên, tôi gặp lỗi Máy chủ. Tôi đang thiếu gì?

LƯU Ý: Tôi không muốn nó được chuyển hướng vĩnh viễn, tôi chỉ đang cố gắng "ẩn" nội dung trang web của tôi trong một vài giờ với trang index.html (cho biết trang web đang được bảo trì) .

Trả lời

4

Hãy thử xóa Options +FollowSymlinks, một số máy chủ sẽ không cho phép bạn ghi đè cài đặt php.ini.

+0

Tôi không muốn nó là chuyển hướng vĩnh viễn, tôi chỉ muốn "ẩn" mọi thứ trong một vài giờ. –

+0

Ok, tôi đã xóa quy tắc 'R = 301';) – Giona

+0

Bạn có chắc chắn máy chủ của mình hỗ trợ tùy chỉnh .htaccess không? Bạn đã thử xóa 'Tùy chọn + FollowSymlinks' chưa? – Giona

12

Nếu bạn muốn chuyển hướng tất cả mọi thứ để trang bảo trì tạm thời, bạn có thể làm:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/maintenance.html$ 
RewriteRule .* /maintenance.html [L,R=302] 

R = 302 lá cờ được sử dụng để tạo ra một chuyển hướng tạm thời

+0

điều này tạo ra một vòng lặp vô hạn và máy chủ không phản hồi! – newnoise

+0

vâng xin lỗi, tôi đã thêm điều kiện viết lại để ngăn chặn vòng lặp! – Oussama

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