我使用的是简单的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扩展名的联系表单网址保留但未成功但是没有成功。
谢谢
答案 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调用的工作方式)不会被重定向。