2013-01-09 24 views
5

Tôi đã có một tập tin .htaccess loại bỏ tất cả các phần mở rộng .php từ các tập tin, vì vậy nếu tôi đi đến localhost/path/to/file nó chuyển hướng đến localhost/path/to/file. php Mọi thứ hoạt động tốt cho đến khi tôi quyết định thêm một quy tắc mới vào .htaccess và nó không hoạt động.Có apache cache .htaccess quy tắc? chuyển hướng tồn tại ngay cả sau khi tôi xóa các tập tin

Tôi đã xóa tệp .htaccess trong thư mục chính của mình và kiểm tra xem một số tệp tồn tại trong các thư mục khác có lệnh: cd/var/www và sau đó ls -laR | grep .htaccess và tôi thấy không tồn tại. Tuy nhiên, các quy tắc chuyển hướng vẫn đang được theo dõi!

Tôi đã cố xóa tất cả bộ nhớ cache của trình duyệt và vẫn không hoạt động, tôi đã thử cURL và apache vẫn tuân thủ nguyên tắc xóa phần mở rộng .php ban đầu của tệp. Tôi tải về phần mở rộng httpfox để firefox và nó cho thấy tôi yêu cầu tôi đã thực hiện cho localhost/projectname/index và "Content-Location" là "index.php". Tôi đã cố gắng vô tận để khởi động lại apache và không có may mắn.

Làm cách nào để loại bỏ các quy tắc htaccess "được lưu trong bộ nhớ cache"?

EDIT: Tôi đã thử trên thiết bị iPad của tôi và thiết bị di động của tôi và vẫn là vấn đề tồn tại, vì vậy tôi chắc chắn các quy tắc đang được lưu ở đâu đó

EDIT: Tôi đã thêm một quy tắc để loại bỏ .html là tốt và nó làm việc , nhưng khi tôi xóa nó, quy tắc vẫn còn đó và cái .php là tốt.

+0

Có thể cấu hình apache toàn cục tại ''/etc/httpd/conf.d'' hoặc các địa điểm tương tự không? –

+0

@JonasWielicki '/ etc/httpd/conf.d' không tồn tại, tuy nhiên'/etc/apache2/httpd.conf' bị trống – george

+1

Thử xóa bộ nhớ cache của trình duyệt của bạn. 301 Chuyển hướng được lưu trữ khá mạnh mẽ bởi các trình duyệt. Apache không cache htaccess (theo mặc định). – Gerben

Trả lời

3

Không, tệp .htaccess không được lưu trong bộ nhớ cache, theo mặc định hoặc cách khác. (nghĩa là, không có cách nào để đưa Apache vào bộ đệm .htaccess.) Chúng được đọc lại trên mọi yêu cầu.

Tuy nhiên, có những nơi khác mà chuyển hướng sẽ được lưu vào bộ nhớ cache, bao gồm trình duyệt của bạn và bất kỳ proxy trung gian nào giữa trình duyệt và máy chủ của bạn.

Và, không, bạn không cần khởi động lại Apache để thay đổi tệp .htaccess.

+0

Bạn lưu bộ nhớ cache .htaccess bằng cách kết hợp AllowOverride None cho thư mục chứa tệp, tiếp theo là Include /…/.htaccess. Sau đó nó chỉ đọc một lần, vào đầu/duyên dáng. –

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