【问题标题】:Condense steps from htaccess来自 htaccess 的浓缩步骤
【发布时间】:2017-11-08 13:49:42
【问题描述】:

我目前在下面有以下 htaccess 代码,用于添加尾部斜杠并确保它是 https 和 www。 (这是一个wordpress网站)

问题在于,如果提供的 URL 没有 https、www 或斜杠。

例如- http://example.com/test

它需要 2 跳才能到达。

如何在 htaccess 中一步完成这一切,以便从http://example.com/testhttps://www.example.com/test/

# BEGIN HTTPS Redirection Plugin
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# END HTTPS Redirection Plugin

# 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

【问题讨论】:

    标签: wordpress .htaccess http-status-code-301


    【解决方案1】:

    这应该对你有用:

    # 301 redirect to www
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    # 301 redirect to https
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    请通过例如http://redirectcheck.com/进行测试

    【讨论】:

    • 不幸的是,此解决方案不适用于 wordpress 和漂亮的永久链接代码,这是我示例中的第二部分 htacess。当在带有 wordpress 站点的子页面上时,它会导致 404 not found 问题。
    • 很奇怪,我在许多 WP 安装中都使用它。也许您忘记将 WP 本身切换为使用 HTTPS?
    • 当您说忘记切换 WP 本身时。这只是在 WordPress 地址 (URL) 和站点地址 (URL) 的常规选项中添加 www 吗?我也设置好了。
    • 在常规选项中添加 https。这两个选项都应该有https://www.yourdomain.com(我假设这是您要使用的“主要”URL 模型)。
    猜你喜欢
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-26
    • 1970-01-01
    相关资源
    最近更新 更多