10/10/2018, 10:07

Không biết diễn tả nó ra.. ra... sao

Em gặp 1 vấn đề khi chuyển hosting
Với host cũ, khi chuyển url tới: http://domain.com/?url=http://test.net/image.gif
Thì ở php, biết $_GET["url"] sẽ có giá trị là http://test.net/image.gif
OK no ploblem

Nhưng khi sang hosting mới, chạy url kia, thì nó báo lỗi 404, tức là không tìm thấy tệp trên máy chủ, chạy thử http://domain.com/?url=http:// cũng bị
Vấn đề là nằm ở string http:// sau biến. không biết ai đã gặp trường hợp này chưa?
Mong sớm đc. giải đáp.
Cám ơn mọi người.
namduong8889 viết 12:11 ngày 10/10/2018
Code:
Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On
  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
bạn copy file htaccess này đặt vào DOCROOT, thử xem có được không
*Thắm viết 12:23 ngày 10/10/2018
Không có tác dụng bác ạ
moihocIT viết 12:23 ngày 10/10/2018
Đúng là mình đã từng gặp trường hợp này rồi, nhưng không nhớ là hồi đó xử lý thế nào nữa.
Mình nhớ mang máng là cậu đừng bỏ vô cái chữ http:// mà chỉ để phần còn lại thôi, sau đó trong đoạn code redirect cậu hãy thêm vô. (Ví dụ: http://domain.com/?url=test.net/image.gif) rồi trong đoạn code redirect cậu hãy kiểm tra và thêm vào phần http:// để nó redirect đi.

Và đó cũng có thể là lỗi của Rewrite. Cái này thì bạn trên đã nói, nhưng mình thấy cái code rewrite của bạn trên hơi lạ, do mình cũng chưa quen với cái rewrite này cho lắm nên cũng hok biết là bạn ấy ghi đúng hok, cậu có thể tham khảo thêm.
*Thắm viết 12:15 ngày 10/10/2018
Vấn đề khắc phục thì đơn giản rồi, nhưng phải thủ công đi fix, cái này chắc chỉ cần config php.ini đâu đó nhưng chỉ là đoán thế thôi
pcdinh viết 12:07 ngày 10/10/2018
Bạn check lại default index file cho thư mục. Có thể host mới của bạn bỏ sót cấu hình này chăng? Thử đọc log xem
moihocIT viết 12:16 ngày 10/10/2018
Ủa bạn pcdinh cho mình hỏi, log bạn nói đến là log của server à, hay là mình viết một file php để ghi lại log.
Tại log này mình chưa rành. Thường thì mình tự cài server nên có thể biết log nó nằm ở đâu để xem, nhưng nếu xài host thì sao thì mình chưa biết.
*Thắm viết 12:19 ngày 10/10/2018
Chưa biết nguyên nhân cụ thể, nhưng đã contact với bọn sever để fix. Nó nói đây là vấn đề bảo mật sever, mình không thể tự fix qua php.ini hay hta đc. Lần sau bạn nào gặp thì contact luôn cho đỡ mất time mày mò.
tiendx2002 viết 12:09 ngày 10/10/2018
Được gửi bởi *Thắm
Em gặp 1 vấn đề khi chuyển hosting
Với host cũ, khi chuyển url tới: http://domain.com/?url=http://test.net/image.gif
Thì ở php, biết $_GET["url"] sẽ có giá trị là http://test.net/image.gif
OK no ploblem

Nhưng khi sang hosting mới, chạy url kia, thì nó báo lỗi 404, tức là không tìm thấy tệp trên máy chủ, chạy thử http://domain.com/?url=http:// cũng bị
Vấn đề là nằm ở string http:// sau biến. không biết ai đã gặp trường hợp này chưa?
Mong sớm đc. giải đáp.
Cám ơn mọi người.
Còn 1 khả năng nữa là bạn cần url_encode biến url trước khi output nó ra trình duyệt.
Thân mến.
Bài liên quan
0