2016-10-20 2 views
0

Я использую mod rewrite для своих URL. У меня есть форма, которая передается через ajax, однако пост-переменные не передаются. Я пытаюсь отправить из home.php в new_post.phpmod rewrite loss post variables ajax

Есть ли способ исключить файл new_post.php с помощью приведенных ниже правил? Чтобы переменные могли быть переданы. Я попытался с помощью:

RewriteCond %{REQUEST_METHOD} !POST 
RewriteRule ^new_post.php/[L,R=301] 

Я использую следующие в моей Htaccess:

Options +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteBase/

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R,L,NC] 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule^%{REQUEST_URI}.php [L] 

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

Теперь с помощью:

Options +FollowSymLinks -MultiViews  
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R=301,L,NE] 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 

RewriteRule ^new_post\.php$/[L,NC] 

Я подаю форму из home.php в new_post.php через AJAX. new_post.php вставляет данные в MySQL, после вставки данных, я эхо новый URL-адрес, что пользователь должен быть перенаправлен как:

echo "post.php?id=$id"; 

В успехе AJAX я использую место (данные); для перенаправления пользователя на новый пост.

Есть две проблемы:

URL-адрес перенаправляет на ACCESS ЗАПРЕЩЕНО сообщении от XAMPP и почтовые переменные не передаются

ответ

0

Есть свои правила в следующем порядке:

Options +FollowSymLinks -MultiViews  
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule^%1 [R=301,L,NE] 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 

RewriteRule ^post\.php$/[L,NC] 
+0

попытался это, но переменные все еще не пройдены – user3312792

+0

Вы должны полностью очистить кеш браузера. Что такое полный URL-адрес для запроса AJAX? – anubhava

+0

ajax url - new_post.php – user3312792