【发布时间】:2017-06-16 17:19:50
【问题描述】:
由于某种原因,我的重定向不起作用。我只希望非 www 去 www 和 non-https 去 https。这就是我所拥有的。来自this post。
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule (.*) https://www.example.com/$1 [R=301,L]
编辑:这是我的整个文件。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTPS} Off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} blog.example.com
RewriteRule ^(.*)$ https://www.example.com/blog/$1 [R=permanent,L]
RewriteCond %{HTTP_HOST} ^example.com/blog/$ [NC]
RewriteRule (.*) https://www.exmaple.com/blog/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.example.com/blog/$ [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule (.*) https://www.example.com/blog/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
【问题讨论】:
-
哪个 URL 没有重定向?
-
任何以 http 开头或没有 www 的内容。一开始。我已经测试过了,如果不是脚本,那就是另一个问题了。
-
验证您的
.htaccess是否启用,方法是在您的.htaccess顶部放置一些垃圾(随机)文本,并查看它在您访问时是否生成500(内部服务器)错误您在浏览器中的页面。 500 错误意味着 .htaccess 已启用。 -
这是您完整的
.htaccess文件吗? -
好的,我已经添加了文件@user82217的其余部分。
标签: apache .htaccess redirect mod-rewrite