2012-02-04 25 views
2

我有一个疯狂的Wordpress错误。当我创建一篇新文章或编辑一篇旧文章时,我无法插入第一个结尾斜杠后面的热文件链接。WordPress的403禁止的错误

我解释得更好。如果在帖子中,我这样做:

<a href="http://www.hotfile.com">TEST</a> 

我可以正确创建文章。如果我做的:

<a href="http://www.hotfile.com/">TEST</a> 

或更长的链接,如:

<a href="http://www.hotfile.com/dl/[...]">TEST</a> 

我更新从管理岗位时,得到即时的403错误。这是疯狂的,只发生在Hotfile链接中。其他一切都像一个魅力。

错误是什么?如果有帮助,我张贴我的.htaccess,我从来没有从我的WP安装变化:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

已经完成修理和MySQL数据库的优化。非常感谢大家。

+0

最有可能安装到Apache的一些安全模块。 – Gerben 2012-02-04 15:49:24

+0

你已经安装了多少个插件?你使用什么主题? – maiorano84 2012-05-12 18:00:00

+0

最有可能是由WP WP安全插件导致的。你可以在你的WP安装目录中检查WP的日志文件'error.log'。 – anubhava 2012-05-15 21:37:35

回答

6

我是一个普通的WP开发人员,而且我一直都看到这样的小错误。不幸的是,它通常意味着是时候完成测试的繁琐工作了。问题可能出现在Apache/htaccess或WP插件或主题中。

要试图消除WP作为这一特定问题的原因,我想尝试创建与它下面的一个php文件:

<? 
if (isset($_POST["field"])) 
    echo $_POST["field"]; 
?> 
<form method='post'> 
    <input type='hidden' name='field' value='<a href="http://hotfile.com/dl/">TEST</a>'> 
    <input type='submit' value='Test'> 
</form> 

如果点击“测试”不会导致同样的403错误,那么它就是WP专门发生的事情。如果它确实导致了403,那么这是一个更令人讨厌的问题,您将要与您的托管服务提供商合作。

如果这是一个WP问题,我会做的第一件事是开始停用插件1 1,从插件开始,我认为这是最可能的罪魁祸首。如果我没有理由相互怀疑,那么我就一次全部禁用它们。一旦插件被禁用,我尝试重新创建原始问题。如果问题仍然存在,显然插件没有出现问题,我重新激活它并测试下一个插件。 10次​​中的9次,我的问题是这样找到的。尝试此操作时要小心,因为有些插件会在停用时清除其设置。

如果这不能解决问题,我会尝试一个不同的主题,看看是否能解决这个问题。很明显,如果在尝试新主题时问题不复存在,那么您就知道问题出在哪里。再次,一些主题可以设置与它们相关联,并且更改主题可能会丢失这些设置。

最后,检查您的wp-content/mu-plugins文件夹中是否始终处于活动状态的插件,并不总是显示在您的插件列表中。

2

我也有类似的问题,显然wordpress有一些问题,我尝试添加在我的文章中的一些代码。我设法绕过<pre>标签中的代码绕过该问题。

2

我知道这个帖子本身就是古代的时间,但我已经遇到了类似的问题把我永远搞清楚发生了什么事情,直到我意识到我不得不做的就是添加:

Options +FollowSymLinks 

在.htaccess文件的顶部和presto!有效。

Options +FollowSymLinks 
# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

幸得此好人:http://www.coolestguyplanettech.com/403-forbidden-error-wordpress-htaccess/

0

我知道我的答案是姗姗来迟,但只是想补充我的2美分。

  1. 我会建议检查.htaccess文件,以确保它与下面类似。

    # BEGIN WordPress 
    <IfModule mod_rewrite.c> 
        RewriteEngine On 
        RewriteBase/
        RewriteRule ^index\.php$ - [L] 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteRule . /index.php [L] 
    </IfModule> 
    # END WordPress 
    
  2. 你可以尝试添加Options +FollowSymLinks如adamj他回答说这样的.htaccess将类似于以下。

    Options +FollowSymLinks 
    # BEGIN WordPress 
    <IfModule mod_rewrite.c> 
        RewriteEngine On 
        RewriteBase/
        RewriteRule ^index\.php$ - [L] 
        RewriteCond %{REQUEST_FILENAME} !-f 
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteRule . /index.php [L] 
    </IfModule> 
    # END WordPress 
    
  3. 检查以确保没有插件导致问题。禁用所有插件,查看问题是否存在。如果没有,那么找出哪一个是原因就是一个消除的过程。

  4. 最后,我已经删除了.htaccess文件,这也适用于我,但没有.htaccess文件意味着没有URL重写,除非您的Web服务器以其他方式配置。

我希望这可以帮助别人。