首页 > 程序开发 > 系统(system) > Linux > 新浪新微博(xweibo)在nginx或apache服务器上的URL重写规则
2012
11-15

新浪新微博(xweibo)在nginx或apache服务器上的URL重写规则

相信有个别站长应该用过新浪的新微博系统(xweibo)吧!用的人都知道源码里只提供apache服务器上URL重写,但是很多站长的服务器都是使用比较流行的Nginx服务器,长话短说,这里提供Nginx服务器上URL重写,你们懂的
首先你的新微博系统所在的目录必须被分配一个二级域名,否则不能使用以下规则
例如:在根目录下新建子目录(xweibo) ,然后在服务器上绑定二级域名(http://t.souhaikou.com)到该子目录(xweibo)
新微博在Nginx服务器URL重写规则:
# ——————————————————————————————
# 禁止访问的路径,这条规则将保护站点的 以下目录和文件不能被HTTP直接访问
if ($document_root ~ "^(application/|templates/|cron/|config\.php$|user_config\.php$)"){
        set $rule_0 1;
}
if ($rule_0 = "1"){
        rewrite ^/(.*)$ /deny.php last;
}
# ——————————————————————————————
# 启用个性短链接
if ($http_host ~ "^souhaikou.com$"){
        set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
        rewrite ^/(.*)$ http://souhaikou.com/$1 last;
}
# ——————————————————————————————
# 启用个性域名
# 在以下两条规则的注释之前请在 Xweibo后台>系统设置>开启个性域名 中开启个性域名功能
# 注如果你的服务器中 %{DOCUMENT_ROOT} 不准确,你可以用你安装 Xweibo 的绝对路径替换
rewrite ^/([0-9]+)$ /index.php?m=ta&id=$1 last;
if ($document_root !~ "^(js/|img/|css/|flash/|var/|robots\.txt$|.+\.php$|crossdomain\.xml$|favicon\.ico$|admin/$)"){
        set $rule_1 1$rule_1;
}
if (!-f $document_root/application/controllers/$1.mod.php){
        set $rule_1 2$rule_1;
}
if ($rule_1 = "21"){
        rewrite ^/([a-zA-Z][a-zA-Z0-9_-]+)$ /index.php?m=ta&_udomain=$1 last;
}
# ——————————————————————————————
# 普通入口 这条规则使用户可以用 美化的URL访问
if (!-f $request_filename){
        set $rule_0 1$rule_0;
}
if (!-d $request_filename){
        set $rule_0 2$rule_0;
}
if ($document_root !~ "^(admin/)"){
        set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
        rewrite ^/(.*)$ /index.php/$1?$args last;
}
# ——————————————————————————————

最后编辑:
作者:云海
产品经理。。。。

留下一个回复