Htaccess重写条件影响AJAX联系表格上的CAPTCHA验证

时间:2013-11-18 14:32:57

标签: php ajax .htaccess jquery contact-form

我使用的是简单的php AJAX表单,效果很好。 最近,为了使我的网址更加搜索引擎友好,我使用.htaccess文件删除.php扩展名,现在表单CAPTCHA验证永远不会验证。

你知道可能出了什么问题吗?

表格是jigowatt的HTML5 AJAX联系表格。 这是删除我正在使用的扩展php的htaccess代码行:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/(.+)\.php[^\s]* [NC]
RewriteRule ^ /%1 [R=301,NE,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^ %{REQUEST_URI}.php [QSA,NC,L]

我想知道是否有解决方法。我尝试将带有.php扩展名的联系表单网址保留但未成功但是没有成功。

谢谢

1 个答案:

答案 0 :(得分:2)

您可以尝试替换这些行:

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

RewriteCond %{THE_REQUEST} ^(GET|HEAD)\s/(.+)\.php[^\s]* [NC]
RewriteRule ^ /%2 [R=301,NE,L]

因此POST请求(假设AJAX调用的工作方式)不会被重定向。