|
今天给客户调试网站,顺便研究了下301跳转。
应用场景,客户输入不带www的域名跳转到带有www域名的网站
系统区分为apache nginx两种web引擎
环境1:linux,apache
在apache配置文件conf中加入以下代码就好(opencart.cn是你网站上域名),网站必须开启伪静态。
<Directory /home/wwwroot/opencart.cn>
在这里添加下面代码
</Directory>
- Options +FollowSymLinks
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^opencart.cn
- RewriteRule ^(.*)$ [url]https://www.opencart.cn/[/url] [R=permanent,L]
复制代码
或者直接修改根目录下的.htaccess文件,在.htaccess中添加如下内容(将opencart.cn换成你自己网站上域名):
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteCond %{HTTP_HOST} ^opencart.cn$ [NC]
- RewriteRule ^(.*)$ https://www.opencart.cn/$1 [R=301,L]
- </IfModule>
复制代码
环境2:linux,nginx
需要在nginx的config文件设置
如在/usr/local/nginx/conf/vhost下添加 opencart.conf文件,内容如下(将opencart.cn修改成您的真实域名)
- location / {
- if ($host != 'www.opencart.cn') {
- rewrite ^/(.*)$ https://www.opencart.cn/$1 permanent;
- }
- try_files $uri @opencart;
- }
- location @opencart {
- rewrite ^/(.+)$ /index.php?_route_=$1 last;
- }
- location /admin/ {
- index index.php;
- }
- location ~* (\.(tpl|ini))$ {
- deny all;
- }
复制代码
或者在confg文件开头的地方增加
- server {
- listen 80;
- server_name opencart.cn;
-
- if ($host != 'www.opencart.cn'){
- rewrite ^/(.*)$ https://www.opencart.cn/$1 permanent;
- }
- }
复制代码
重启nginx,就可以生效 |
|