.htaccess更改自身 - 导致500内部服务器错误

时间:2013-02-06 20:44:57

标签: php wordpress .htaccess wordpress-plugin internal-server-error

我遇到问题.htaccess在我的网站上更改自身并导致500 - 内部服务器错误。这种变化每隔一天发生一次。

我原来的.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

在它改变之后,看起来像这样:

# 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

基本上,这一行被移动到上一行的末尾:

<IfModule mod_rewrite.c>

几个星期前我们的网站遭到黑客攻击并用于网络钓鱼。我们的主人将其关闭,我们做出了他们认为足以重新打开我们网站的更改。 我们改变了......

  • 更新到Wordpress的最新版本(我们通常都是 约会,但迟到了几天。

  • 安装了两个安全插件(Better WP Security和Bulletproof 安全性)。

  • 除了删除我们认为COULD已经存在的论坛插件 脆弱的原因。

  • 现在已删除这两个安全插件。

  • 我现在已经更改了htaccess文件的权限

我们真的无法让我们的网站再次出现故障(500服务器错误)。 有什么我错过了可能导致.htaccess改变? 注意:当我用原始文件替换已更改的htaccess文件时,它会修复500服务器错误。

3 个答案:

答案 0 :(得分:1)

快速查看两个安全插件,Bulletproof Security会对您的.htaccess文件进行大量处理。就个人而言,我永远不会让插件触摸.htaccess,因为如果插件中有任何错误,它可能会导致您的网站脱机,出现500服务器错误。

我会看一下插件在.htaccess中尝试做什么,并在禁用Bulletproof Security后手动将其添加到文件中。

或者,您可以尝试在初始注释和以下行之间添加额外的行间距,如下所示:

# 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>

最后,您可以完全取消“IfModule”,因为您知道它已安装在您的服务器上:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

答案 1 :(得分:1)

问题可能是由两个安全插件之间的交互引起的。也许禁用其中一个将解决问题。

另一种保护htaccess的方法是将其分配给root用户(如果允许)和/或将其设置为只读。当然它并没有解决潜在的问题,但至少包含了这些影响。

答案 2 :(得分:0)

我遇到了同样的问题,但我终于发现@IBAction func fbLogin(_ sender: UIButton) { self.view.makeToastActivity(view.center) let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager() fbLoginManager.logIn(withReadPermissions: ["email"], from: self) { (result, error) -> Void in if (error == nil){ let fbloginresult : FBSDKLoginManagerLoginResult = result! // if user cancel the login if (result?.isCancelled)!{ self.view.hideToastActivity() return } if(fbloginresult.grantedPermissions.contains("email")) { self.getFBUserData() self.view.hideToastActivity() } } } } @IBAction func googleLogin(_ sender: UIButton) { self.view.makeToastActivity(view.center) GIDSignIn.sharedInstance().signIn() } 文件编码应保持默认.htaccess,错误只是因为我将其编码更改为ANSI。< / p>