今天给客户调试opencart网站,顺便研究了下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.ldhost.cn/help/[/url] [R=permanent,L]
或者直接修改根目录下的.htaccess文件,在.htaccess中添加如下内容(将opencart.cn换成你自己网站上域名):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^opencart.cn$ [NC]
RewriteRule ^(.*)$ https://www.ldhost.cn/help/$1 [R=301,L]
</IfModule>
环境2:linux,nginx
需要在nginx的config文件设置
如在/usr/local/nginx/conf/vhost下添加 opencart.conf文件,内容如下(将opencart.cn修改成您的真实域名)
location / {
if ($host != 'www.ldhost.cn') {
rewrite ^/(.*)$ https://www.ldhost.cn/help/$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;
return 301 http://www.ldhost.cn$request_uri;
}
重启nginx,就可以生效
(责任编辑:好模板) |