将原地址 http://www.aa.com/index.php?domain=020&id=5 重写为 http://020.aa.com/category/5.html
是 nginx rewrite.
有人会麽?
<IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>
#2 楼 @Ryn 你确定?
rewrite \/index\.php\?domain=(\d+)&id=(\d+) http://$1.aa.com/category/$2.html permanent;
访问http://www.aa.com/index.php?domain=020&id=5 就会跳转到http://020.aa.com/category/5.html
#4 楼 @sandtears 应该要反一下,操作的 host 是对所有非 ^www.aa.com 的域名
#5 楼 @dume2007 这个要用内置变量获取域名了。。rewrite 后面的正则貌似获取不到 servername... 不太明白
解决了~
set $sub_domain “”; if ( $host ~* (.*)\.baidu\.com ){ set $sub_domain $1; } if ( $sub_domain != “www” ){ rewrite ^/([a-zA-Z]+)(\d+)/(\w+).html$ /index.php?domain=$sub_domain&page=$1&size=$2&id=$3 last; }