军哥求一个带多重判断的301规则
我现在用的301规则就是正常的 如下server {listen 80;
server_name new.jasonstar.net;
return 301 http://bbs.jasonstar.net$request_uri;
}
我想加一个多重判断,达到的效果是
request_uri 如果是portal.php 跳转到bbs.jasonstar.net/forum.php
不是portal.php就http://bbs.jasonstar.net$request_uri
想给request_uri增加一个这个判断,规则应该怎么写?
麻烦军哥了! if ($request_uri != 'portal.php' ) {
return 301 http://bbs.jasonstar.net$request_uri;
}
if ($request_uri = 'portal.php' ) {
return 301 http://bbs.jasonstar.net/forum.php;
}
回复 2# 的帖子
依然不启作用访问portal.php还是 会跳转到新域名的portal.phprequest_uri判断没起作用
(已重启服务器,清理浏览器缓存了)
我尝试调换下那2条顺序重启nginx时就会提示 $request_uri != 'portal.php' 这行有错误 这个是现在配置
回复 4# 的帖子
报什么错误信息?单引号里,portal.php前面加上个/ 就行
回复 5# 的帖子
OK了谢谢军哥!!!!!!!!回复 5# 的帖子
我自己来挖自己的帖子我想对多个request_uri 进行判断 .现在是判断一个portal.php
想加一个 如果request_uri=/mobcent/ (mobcent这个里面的东西) 就正常访问此网站目录的文件 不进行301
那应该怎么写这个conf??
现在的conf
server {
listen 80;
server_name new.jasonstar.net;
if ($request_uri != '/portal.php' ) {
return 301 http://bbs.jasonstar.net$request_uri;
}
if ($request_uri = '/portal.php' ) {
return 301 http://bbs.jasonstar.net/forum.php;
}
}
因为自己网站改版考虑不充分才有了这样的奇葩需求麻烦军哥了 目录匹配用location
location ^~ /mobcent/ {
。。。。。
}
回复 8# 的帖子
那完整conf是下面这样的??对吗?server {
listen 80;
server_name new.jasonstar.net;
index index.php index.html index.htm default.html default.htm default.php;
root/mnt/wwwroot/301.jasonstar.net;
include discuzx.conf;
error_page 404 /404.html;
if ($request_uri != '/portal.php' ) {
return 301 http://bbs.jasonstar.net$request_uri;
}
if ($request_uri = '/portal.php' ) {
return 301 http://bbs.jasonstar.net/forum.php;
}
location ^~ /mobcent/ {
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_passunix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
#include pathinfo.conf;}
}
这样能达到我想要的效果吗?
resquest_uri 是portal.php 301到A
是/mobcent/正常访问
其他request_uri301到B
感觉我那个conf不对
麻烦军哥了
[ 本帖最后由 jasonstar 于 2016-3-3 21:19 编辑 ] 因为有前面两个判断了所有情况无法再进行其他判断
页:
[1]