2011-09-22 32 views
5

Tôi có một máy chủ php và tôi muốn viết lại các url đến. Vì các yêu cầu gửi đến là các yêu cầu đăng bài, tôi cũng muốn dữ liệu được đăng sẽ được chuyển tại các url mới.URL viết lại PHP và giữ lại dữ liệu đã đăng

Tôi đã cố gắng chuyển hướng url với các quy tắc viết lại như sau:

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,L] 

hoặc

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [NC,R=301] 

Tôi cũng đã cố gắng giữ gìn bài dữ liệu với viết lại quy tắc sau:

RewriteRule ^test/(.*)$ http: //localhost/index.php?data=&1 [P] 

Vấn đề là tôi không thể cùng lúc cả hai. Tôi đang làm gì sai? Có cách nào để chuyển hướng url và giữ dữ liệu bài đăng không?

+0

tôi muốn viết lại không để chuyển hướng. – reven

Trả lời

8

Sự cố của bạn có thể là do bạn chuyển hướng thay vì viết lại. Chuyển hướng thay đổi URL mà mọi người thấy trong trình duyệt. Viết lại chỉ thay đổi URL mà ứng dụng PHP của bạn nhìn thấy. Sau này thường là những gì bạn muốn. Và trong trường hợp sau, các biến POST được tự động lưu giữ.

Để viết lại thay vì chuyển hướng, sử dụng một con đường địa phương thay vì một địa chỉ URL:

RewriteRule ^test/(.)$ index.php?data=$1 [NC,L] 
+1

Có lẽ tôi đã ở đó và tôi không biết điều đó. Có phải tôi muốn viết lại không để chuyển hướng. tôi đã nhầm lẫn bởi vì tôi đã nhìn thấy cùng một url tại trình duyệt và tôi nghĩ rằng did't viết lại đã làm việc. Nhưng bạn đã đúng.Được coi là url của trình duyệt giống như index.php được thực thi. Cảm ơn bạn đời – reven

+0

Đây chính xác là những gì tôi đang tìm kiếm. Cảm ơn – wonderwhy

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