301重定向将不带www的域名跳转到www的域名,403 Forbidden You don't have permission to access the URL on this server

2017-11-14 23:30:29 7,931 views

重定向规则

这是我网站根目录下的重定向规则

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteCond %{http_host} ^suanliutudousi.com [NC]
RewriteRule ^(.*)$ http://www.suanliutudousi.com/$1 [L,R=301]
</IfModule>

 
其中下面的是重点  ,将不带www的域名重定向到带www的域名

RewriteEngine On
RewriteCond %{http_host} ^suanliutudousi.com [NC]
RewriteRule ^(.*)$ http://www.suanliutudousi.com/$1 [L,R=301]

在这里的话大多数就可以解决了。
 
 
然而我的却报错如下

403 Forbidden You don't have permission to access the URL on this server. Powered by Tengine

报这个错的原因是阿里云cdn控制台里的私有Bucket回源打开了,若你也有的话请关闭。
 
关闭bucket私有源
 
 
ping   www的域名正常,ping不带www的域名直接跳到了cdn上。
首先得尝试下你的带www的域名和不带www的域名是否都能够访问。不行的话得做域名解析
 

顶级域名解析

 
因为我的前面2个A记录没有添加。从而只能www访问。而不能不带www的域名访问。
如果你也没有的话请到你的域名服务商哪里添加域名解析。

域名解析


这样的话应该大部分就都可以了。然而我的还是不行。悲剧!
我的因为开了cdn和oss.且之前的加速域名为suanliutudousi.com ,导致顶级域名成为了bucket源。
一直报如下

This XML file does not appear to have any style information associated with it. The document tree is shown below.
<Error>
<Code>AccessDenied</Code>
<Message>The bucket you visit is not belong to you.</Message>
<RequestId>5A0A8AE4BC4D25C01CEE9187</RequestId>
<HostId>t99panzer.oss-cn-shanghai.aliyuncs.com</HostId>
</Error>

将cdn和oss中的防盗链都关闭以后还是不行。
然后干脆就把cdn和oss都停止,且把之前的cdn和cname解析也删除(之前cname解析为 @  suanliutudousi.com )。然后等域名解析生效后测试了下。发现可以从不带www域名重定向到带www的域名上 了,然而这样导致我的cdn完全没用了。
然后我就一直想替代源。想了想baidu.com,想了想百度的二级域名知道。就想也设置个二级域名。  之前一直不太理解这个二级域名怎么设置,能干嘛。
百度了下,发现顶级域名可以自由设置二级域名。  最后通过域名解析中设置二级域名。
先在服务商的cdn中添加 新的域名   test.suanliutudousi.com并设置源站   之后就可以生成cname值
并在域名服务商处添加新的解析。下图为我添加之后的。
cname设置
cdn的name值填上cname值。然后解析生效。
这样以后就有了二级加速域名 test.suanliutudousi.com  。
到这里就cdn就能够加速 oss且能够重定向。

8

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。