На моей веб-странице PHP я хочу перенаправить следующим образом:
header("Location: page2.php?id=$tid");
Строка запроса необходима page2.php, но я не хочу, чтобы строка запроса отображалась в браузере посетителя. Я думал, что мог бы удалить строку запроса, используя mod_rewrite следующим образом:
RewriteEngine On
RewriteRule ^page2\.php page2\.php?
Это просто удаляет строку запроса для page2.php (заставляя ее вести себя нежелательным образом) и по-прежнему отображает строку запроса в области отображения URL браузера.
Я нашел другие ссылки на удаление строк запросов, например mod_rewrite: удалить строку запроса из URL? , но когда я добавляю перенаправление к правилу, например [R = постоянный], URL-адрес, отображаемый моим браузером, исходит от
localhost/admin/page2.php?id=123
с веб-страницей, которая отображается нормально, до
http://localhost/C:/xampp/htdocs/admin/page2.php
, где веб-страница не загружена, но вместо этого отображается следующее:
Access forbidden!
You don't have permission to access the requested object.
It is either read-protected or not readable by the server.
If you think this is a server error, please contact the webmaster.
Error 403
localhost
9/5/2011 9:57:19 PM
Apache/2.2.17 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8o PHP/5.3.4 mod_perl/2.0.4 Perl/v5.10.1
Как я могу перенаправить на страницу, которая нуждается в строке запроса, но скрыть эту строку запроса от посетителя, чтобы она не отображалась им в браузере?