Tôi đang cố gắng tạo URL sạch trên trang web của mình. Bây giờ tôi đã thành công trong việc cấu hình apache nên mọi yêu cầu như mysite.com/page sẽ hoạt động. Nhưng tôi cũng muốn các yêu cầu đó cho mysite.com/page.php sẽ được chuyển hướng đến mysite.com/page. Tôi đã thiết lập biến môi trường trong .htaccess để kiểm tra xem tôi đã được chuyển hướng đến ngăn chặn vòng lặp, nhưng tôi vẫn nhận được chúng ... Đây là .htaccess:Làm sạch URL chuyển hướng vòng lặp
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase/
# set the variable
RewriteRule ^$ - [L]
RewriteRule ^(.*)$ $1 [E=REWROTE:0]
# this works fine
# make mysite.com/page work and set REWROTE variable to 1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L,E=REWROTE:1]
# but if i enable this, i get redirected and then stuck in a loop
# redirect mysite.com/page.php to mysite.com/page , but only if REWROTE not 1
#RewriteCond %{ENV:REWROTE} !^1$
#RewriteRule ^(.*)\.php$ $1 [R=301,L]
Cảm ơn!
Chào mừng bạn đến ngăn xếp tràn. Cảm ơn bạn đã đặt câu hỏi rõ ràng, cung cấp mã và hiển thị những gì hiệu quả và những gì không hiệu quả. Nếu bạn có thông tin hữu ích trong nhật ký apache của mình, vui lòng đăng thông tin đó lên. Đôi khi các vấn đề chuyển hướng trở nên rõ ràng hơn khi bạn nhìn thấy các bản ghi. –
Rất tiếc, tôi không có quyền truy cập vào loại thông tin đó. – oxeleo