如何使用 Apache2 和 Bitnami 修复带有斜杠的域重定向?

如何使用 Apache2 和 Bitnami 修复带有斜杠的域重定向?

我正在使用 Bitnami 运行一个 Wordpress 网站,但它让我在很多方面感到困惑。

问题是当你点击一个链接时www.domain.com/ja/然后它进入www.domain.comja因为缺少斜线 /

编辑:我发现了它如何处理www.domain.com/ja没有“/”在最后一个工作正常,正如我预期的那样,否则www.domain.com/ja/以“/”斜线结尾www.domain.comja

我尝试了很多方法来解决这个问题但仍然没有解决。

这是我的 apache2 配置,来自 /opt/bitnami/apps/wordpress/conf/httpd-app.conf

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1/ [R=permanent,L]
RewriteRule ^index\.php$ - [S=1]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

答案1

我只能想到3个可能的原因:

  1. 您的浏览器缓存了来自旧重写规则或类似内容的 301 重定向。请尝试从其他浏览器访问该 URL 以进行确认。

  2. 重定向器来自 Wordpress/或插件。请先尝试禁用所有插件或更改index.php为空文件。

  3. 您仍然有错误的规则,例如:

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} /(.+)/$
    RewriteRule ^ https://www.example.com%1 [L,R=301]
    

以上将像您的情况一样重定向,因此更改为:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]

相关内容