军哥给看一下吧,301转向的问题
今天打算做个301转向这个是我做好后的/usr/local/nginx/conf/nginx.conf
userwww www;
worker_processes 1;
error_log/dev/null;
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;
fastcgi_intercept_errors on;
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 xxx.com;
index index.html index.htm index.php;
root/home/wwwroot;
location ~ .*\.(php|php5)?$
{
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
location /p5ma/status {
stub_status on;
access_log off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
}
server {
listen 80;
server_name www.xxx.com xxx.com;
if ($host = 'xxx.com') {
rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
}
}
include vhost/*.conf;
}
也就是在最后加上了一段:
server {
listen 80;
server_name www.xxx.com xxx.com;
if ($host = 'xxx.com') {
rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
}
}
做好后,测试了一下:
测试nginx.conf正确性:
/usr/local/nginx/sbin/nginx -t
没改前是:
# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
加上后:
# /usr/local/nginx/sbin/nginx -t
nginx: conflicting server name "www.xxx.com" on 0.0.0.0:80, ignored
nginx: conflicting server name "xxx.com" on 0.0.0.0:80, ignored
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
百度了一下,nginx: conflicting server name "www.xxx.com" on 0.0.0.0:80, ignored
没有搞明白,所以不敢往下做了
想问一下军哥,这个正常不?该怎么做?
谢谢了
[ 本帖最后由 secendday 于 2013-1-12 19:32 编辑 ] 提示的域名添加了多次 可下面是军哥在论坛里给的
好象也是添加了两次
军哥给的
server {
listen 80;
server_name www.gyquan.com;
index index.html index.htm index.php default.html default.htm default.php;
root/home/wwwroot/www.gyquan.com;
include none.conf;
location ~ .*\.(php|php5)?$
{
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log off;
}
server {
listen 80;
server_name www.域名.com 域名.com;
if ($host != 'www.域名.com' ) {
rewrite ^/(.*)$ http://bbs.域名.com/$1 permanent;
}
}
和我这个应该是一样的吧? 我就一个站,应该怎么修改?军哥,谢谢了 改成这样行不行?
server
{
listen 80;
server_name www.xxx.com xxx.com;
index index.html index.htm index.php;
root/home/wwwroot;
if ($host = 'xxx.com') {
rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
}
error_page 404 /404.html;
location ~ .*\.(php|php5)?$
{
try_files $uri =404;
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
location /p5ma/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.log access;
}
server {
listen 80;
server_name www.xxx.com xxx.com;
}
include vhost/*.conf;
}
也行就是用一个server {
listen 80;
把
if ($host = 'xxx.com') {
rewrite ^/(.*)$ http://www.xxx.com/$1 permanent;
}
加到
server
{
listen 80;
server_name www.xxx.com xxx.com;
index index.html index.htm index.php;
root/home/wwwroot;
下面?
这个是否可行?谢谢
[ 本帖最后由 secendday 于 2013-1-12 18:59 编辑 ] 上面是方法一
下面是方法二:
server
{
listen 80;
server_name www.zmanhua.com;
index index.html index.htm index.php default.html default.htm default.php;
root/home/wwwroot/zmanhua.com;
。。。。。。。
}
server {
server_name zmanhua.com;
rewrite ^/(.*)$ http://www.zmanhua.com$1 permanent;
}
注意一点:前面的server name只能包含带www的哦,不带www的写下面
方法一 和 方法二 哪个更好一些?谢谢
[ 本帖最后由 secendday 于 2013-1-12 19:45 编辑 ] 方法一 和 方法二 一样 谢谢 军哥,使用了方法二
页:
[1]