主题对主题文件夹进行直接AJAX调用

时间:2018-12-03 作者:objectivesea

因此,我使用的是wordpress主题(遗憾的是,我无法再获得对该主题的支持),它有一个联系表单,可以直接对主题的“includes”文件夹中的php文件进行ajax调用。但是,对该文件的所有ajax调用都会导致404错误。因此,联系人表单无法成功发布消息。

什么服务器设置最有可能限制公众访问主题文件夹中的php文件?

2 个回复
SO网友:Theza Zway

最有可能限制公众访问php文件的服务器设置:

权限(尝试为php文件设置chmod 774)

  • 。htaccess(尝试为该php文件添加重写规则)
  • 也许我错了,但值得一试。

    SO网友:Miloš Đakonović

    您确定这不是错误的URL/路径问题吗?仔细检查一下。

    很可能会将“最有可能限制公众访问主题文件夹中的php文件”的服务器设置放在中。htaccess文件,位于www根目录或其他位置(例如,.htaccess文件可能位于wp内容目录)。也有可能在apache的vhost文件中为特定vhost指定了该指令。

    该指令可能如下所示:

    <Files *.php>
    deny from all
    </Files>
    
    这将产生403 Forbidden, 不是“404未找到”。所以,再次检查该文件的URL。404 Not found(404未找到)除了它所说的内容之外,几乎没有其他内容-URL没有任何资源。

    除此之外,你应该注意打击的具体程度。无论出于何种原因,主题目录中的php文件都被认为是不好的做法——您所需要的一切都已经存在于Wordpress API中了。成功的聪明人想到了ajax and made the means of using it right the right way available.

    相关推荐

    如何全局使用wp_LOCALIZE_SCRIPT()AJAX URL

    我已将此添加到functions.php 并且需要使用ajaxURL 在模板中的所有排队脚本中(而不是在此处仅将一个脚本排队add_action( \'wp_enqueue_scripts\', \'ajaxify_enqueue_scripts\' ); function ajaxify_enqueue_scripts() { wp_localize_script( \'ajaxify\', \'ajaxURL\', array(\'ajax_url\' => get_tem