Я использую mod_rewrite для отображения адреса страниц более читаемым способом, вместо
http://127.0.0.1/index.php?article=contact
я получил
http://127.0.0.1/contact
когда im отправляет форму, все обрабатывается index.php, поэтому я прям действие формы на текущую отображаемую страницу, но $ _POST всегда пуст, открытие блока формы выглядит так
<form method="post" action="http://127.0.0.1/contact">
до того, как я запустил mod_rewrite, все работало отлично, но теперь mod_rewrite, похоже, вызывает проблемы.
Скажите, пожалуйста, что нужно изменить в PHP, конфигурационных файлах Apache или что еще нужно сделать, чтобы сделать работу $ _POST с переписанным endabled
Вот правила перезаписи, которые были запрошены
RewriteEngine on #RewriteCond %{HTTP_HOST} !^www\. #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] RewriteRule \.(css|jpe?g|gif|png)$ - [L] RewriteCond %{REQUEST_URI} ^/[^\.]+[^/]$ RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L] RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L] RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&va=$2 [L] RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?page=$1&va=$2&vb=$3 [L]
заранее спасибо
эмир
Это правило перезаписи делает перенаправление , поэтому браузер вместо этого отправляется на этот адрес с запросом GET; поэтому данные POST всегда будут пустыми.
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]