首页 > 解决方案 > 如何修复多语言网站上的特定 500 内部服务器错误?

问题描述

在切换一种语言后,用户有时会收到 500 内部服务器错误。似乎 .htaccess 每次都会被覆盖。/nl/index.php [L] 目录。

我联系了 TranslatePress 的开发人员。他们仍在寻找解决方案。由提供商锁定 .htaccess 不是解决方案,因为我们的网站中有多个管理员和网店管理员用户,他们需要拥有写入权限。

.ht 访问:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /projectname
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
# BEGIN WordPress
# The directives (lines) between "BEGIN WordPress" and "END WordPress" are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /nl/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /nl/index.php [L]
</IfModule>
# END WordPress

错误日志:

2021-07-19 06:56:31 UTC [apache][core:error] [pid 48256] [client 77.162.111.90:58418] AH00124:对 website.com:/home/path/to/public_html 的请求超出限制由于可能的配置错误,10 个内部重定向。如有必要,使用“LimitInternalRecursion”增加限制。使用'LogLevel debug'来获得回溯。,引用:https://website.com/nl/product/av-cm22-vcu/

重置永久链接(也回到默认的 .htaccess)后,该站点重新上线。我想但我不确定,是这部分:'RewriteRule 。/nl/index.php [L]' 而不是:'RewriteRule 。/index.php [L]' 因此,在切换语言后,.htaccess 将被自动修改,这是导致此内部服务器错误的原因。

知道如何解决这个问题吗?

标签: wordpress.htaccessmultilingual

解决方案


推荐阅读