【发布时间】:2019-05-16 15:38:27
【问题描述】:
我正在做一个项目,在该项目中我已将旧站点迁移到新站点。 SEO 仍在为旧网站工作,所以我在我的 yii2 应用程序中写了规则
'rules' => [
"<year:\d{4}>/<number1:\d{2}>/<number2:\d{2}>/<slug>"=>'video/parse',
这个 yii2 重定向对于不以斜杠结尾的 URL 可以正常工作。但是这条规则对于尾随的斜杠 URL 是失败的。为了解决这个问题,我尝试通过 apache 重定向。为此,我编写了这段代码
<VirtualHost *:80>
RewriteEngine on
RewriteCond %{SERVER_NAME} =mydomain.org
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [R=301,L]
问题 1:
当我点击http://example.org/2017/09/10/slug/ 时,它会重定向到http://example.org//2017/09/10/slug/,因为您可以看到在域名后添加了一个额外的斜杠。
问题2:
当我点击https://example.org/2017/09/10/slug/ 时,它无论如何都不会被重定向。
问题:
1. 我们如何重定向斜杠?
2. 如何让 https 的重定向生效?
【问题讨论】:
标签: apache .htaccess redirect yii2