Tôi muốn tạo bản sao tĩnh của trang web, giữ lại các URL hiện tại. Vấn đề là các URL trông giống như:apache, cho phép tên tệp có '?'
http://mysite/index.php?id=XXX
và Apache không muốn tìm file "index.php id = XXX?". Thay vào đó, nó diễn giải yêu cầu dưới dạng tệp "index.php" với truy vấn "id = XXX".
Tôi làm cách nào để yêu cầu Apache ngừng xử lý dấu chấm hỏi?
Cuối cùng, giải pháp của tôi:
1) đổi tên các tập tin từ "index.php id = XXX?" Thành "index.php_id = XXX"
2) Thêm vào .htaccess:
RewriteEngine On
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteCond %{QUERY_STRING} !=""
RewriteRule ^(.*)$ $1_%{QUERY_STRING} [L]