【发布时间】:2017-03-01 22:50:56
【问题描述】:
我正在为我的 URL 使用 mod rewrite。我有一个通过 ajax 提交的表单,但是没有传递 post 变量。我正在尝试从 home.php 发布到 new_post.php
有没有办法从使用以下规则中排除 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]
我正在通过 AJAX 从 home.php 向 new_post.php 提交一个表单。 new_post.php 将数据插入mysql,插入数据后,我将用户应该重定向到的新url回显为:
echo "post.php?id=$id";
在 AJAX 成功中,我使用 location(data);将用户重定向到新帖子。
有两个问题:
url 重定向到来自 xampp 的 ACCESS FORBIDDEN 消息,并且未传递 post 变量
【问题讨论】:
标签: php ajax .htaccess mod-rewrite