PHP переписать URL и сохранить опубликованные данные - PullRequest
5 голосов
/ 22 сентября 2011

У меня есть php-сервер, и я хочу переписать входящие URL-адреса. Поскольку входящие запросы являются почтовыми запросами, я также хочу, чтобы опубликованные данные передавались по новым URL.

Мне удалось перенаправить URL со следующими правилами перезаписи:

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

или

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

Мне также удалось сохранить данные записей со следующим правилом перезаписи:

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

Проблема в том, что я не могу их обоих одновременно. Что я делаю неправильно? Есть ли способ перенаправить URL и сохранить данные поста?

1 Ответ

8 голосов
/ 22 сентября 2011

Возможно, ваша проблема в том, что вы переадресовываете, а не переписываете.Перенаправления изменяют URL, которые люди видят в браузере.Перезаписывают только те URL, которые видит ваше PHP-приложение.Последнее обычно то, что вы хотите.И в последнем случае переменные POST автоматически сохраняются.

Для перезаписи вместо перенаправления используйте локальный путь вместо URL:

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