408904199 发表于 2013-5-30 01:22:07

军哥请进;Discuz x3 Nginx 301 问题。

Discuz x3 nginx 301问题

设置了301不带WWW跳转到带WWW;

例子:输入xxx.com跳转到www.xxx.com 这个功能实现了,但是只有首页可以跳转。



输入xxx.com/forum-10-1.html 就不会跳转到 www.xxx.com/forum-10-1.html

请问怎么实现输入 xxx.com/forum-10-1.html 也会跳转到 www.xxx.com/forum-10-1.html?

现目前我使用的301规则:server_name www.xxx.com yoursite.com;
    if ($host != 'www.xxx.com' ) {
      rewrite^/(.*)$http://www.xxx.com/$1permanent;
}

[ 本帖最后由 408904199 于 2013-5-30 02:48 编辑 ]

licess 发表于 2013-5-30 10:29:01

这个301代码完全是可以的

408904199 发表于 2013-5-30 11:22:17

回复 2# 的帖子

但是输入xxx.com/forum-10-1.html 就不会跳转到 www.xxx.com/forum-10-1.html啊
求解决方法
按照正常来说,这个代码可以实现输入xxx.com/forum-10-1.html 跳转到 www.xxx.com/forum-10-1.html?

licess 发表于 2013-5-30 11:32:03

回复 3# 的帖子

贴全部配置***。com和www.***.com的全部配置

408904199 发表于 2013-5-30 20:12:11

回复 4# 的帖子

nginx.conf文件
userwww www;

worker_processes 1;

error_log/home/wwwlogs/nginx_error.logcrit;

pid      /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;

events
        {
                use epoll;
                worker_connections 51200;
        }

http
        {
                include       mime.types;
                default_typeapplication/octet-stream;

                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 4 32k;
                client_max_body_size 50m;

                sendfile on;
                tcp_nopush   on;

                keepalive_timeout 60;

                tcp_nodelay on;

                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 64k;
                fastcgi_buffers 4 64k;
                fastcgi_busy_buffers_size 128k;
                fastcgi_temp_file_write_size 256k;

                gzip on;
                gzip_min_length1k;
                gzip_buffers   4 16k;
                gzip_http_version 1.0;
                gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css application/xml;
                gzip_vary on;

                #limit_zonecrawler$binary_remote_addr10m;

                #log format
                log_formataccess'$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';

server
        {
                listen       80;
                server_name www.xxx.com;
                index index.html index.htm index.php;
                root/home/wwwroot;
                include discuzx.conf;

                location ~ .*\.(php|php5)?$
                        {
                                try_files $uri =404;
                                fastcgi_passunix:/tmp/php-cgi.sock;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }

                location /status {
                        stub_status on;
                        access_log   off;
                }

server_name www.xxx.com xxx.com;
    if ($host != 'www.xxx.com' ) {
      rewrite^/(.*)$http://www.xxx.com/$1permanent;
}
                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }

                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }

                access_log/home/wwwlogs/access.logaccess;
        }
include vhost/*.conf;
}

[ 本帖最后由 408904199 于 2013-5-30 20:15 编辑 ]

licess 发表于 2013-5-30 20:58:19

配置文件都改错了后部分代码为server
      {
                listen       80;
                server_name www.xxx.com;
                index index.html index.htm index.php;
                root/home/wwwroot;
                include discuzx.conf;

                location ~ .*\.(php|php5)?$
                        {
                              try_files $uri =404;
                              fastcgi_passunix:/tmp/php-cgi.sock;
                              fastcgi_index index.php;
                              include fcgi.conf;
                        }

                location /status {
                        stub_status on;
                        access_log   off;
                }

                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                              expires      30d;
                        }

                location ~ .*\.(js|css)?$
                        {
                              expires      12h;
                        }

                access_log/home/wwwlogs/access.logaccess;
      }
server
      {
                listen       80;
                server_name xxx.com;
                if ($host != 'www.xxx.com' ) {
                  rewrite^/(.*)$http://www.xxx.com/$1permanent;
                }
      }               
include vhost/*.conf;
}

408904199 发表于 2013-5-30 21:19:33

回复 6# 的帖子

:handshake :lol 感谢军哥,问题解决啦
页: [1]
查看完整版本: 军哥请进;Discuz x3 Nginx 301 问题。