Submitted by admin on 2011, June 28, 4:48 PM
两种实现方法,第一种方法是判断nginx核心变量host(老版本是http_host):
server {
server_name www.test.com test.com ;
if ($host != 'www.test.com' ) {
rewrite ^/(.*)$ http://www.test.com/$1 permanent;
}
...
}
第二种方法:
server {
server_name test.com;
rewrite ^/(.*) http://www.test.com/$1 permanent;
}
我用的是第一种方法,这两种方法中, permanent是关键,详细说明见nginx重定向规则说明。
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301
转
nginx | 评论:0
| Trackbacks:0
| 阅读:958
Submitted by admin on 2011, June 28, 4:44 PM
Nginx的重定向用到了Nginx的HttpRewriteModule,下面简单解释以下如何使用的方法:
rewrite命令
nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下:
rewrite 正则表达式 替换目标 flag标记
flag标记可以用以下几种格式:
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301
例如下面这段设定nginx将某个目录下面的文件重定向到另一个目录,$2对应第二个括号(.*)中对应的字符串:
location /download/ {
rewrite ^(/download/.*)/m/(.*)\..*$ $1/nginx-rewrite/$2.gz break;
}
nginx重定向的IF条件判断
在server和location两种情况下可以使用nginx的IF条件判断,条件可以为以下几种:
正则表达式
如:
匹配判断
~ 为区分大小写匹配; !~为区分大小写不匹配
~* 为不区分大小写匹配;!~为不区分大小写不匹配
例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /nginx-ie/$1 break;
}
文件和目录判断
-f和!-f判断是否存在文件
-d和!-d判断是否存在目录
-e和!-e判断是否存在文件或目录
-x和!-x判断文件是否可执行
例如下面设定nginx在文件和目录不存在的时候重定向:
if (!-e $request_filename) {
proxy_pass http://127.0.0.1;
}
return
返回http代码,例如设置nginx防盗链:
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.localhost;
if ($invalid_referer) {
return 404;
}
}
set
设置nginx变量
nginx | 评论:0
| Trackbacks:0
| 阅读:921
Submitted by admin on 2011, June 28, 4:43 PM
防止盗链不仅能保护版权,又节约了不少流量。最近和bsdmap交流了下,听说他们通过防盗链节约了近1/3的图片流量。nginx的防盗链设置还是比较简单的,可以分为普通防盗链和ip/cookie based防盗链。其中ip based防盗链需要安装nginx的module,所以相对麻烦一些。
nginx最简单的防盗链设置如下
location ~* .(gif|jpg|png|swf|flv)$ {
valid_referers none blocked localhost;
if ($invalid_referer) {
return 403;
}
}
通过nginx的重定向方式返回403错误。
NginxHttpAccessKeyModule实现防盗链
需要先安装nginx的NginxHttpAccessKeyModule模块。其运行方式是:如我的nginx目录下有一个file.gz 的文件。对应的URI 是http://localhost/nginx/file.gz
若用ngx_http_accesskey_module 后则根据用户的IP生成一个key值,如下的链接来访问http://localhost/download/file.zip?key=23497sdf897. 只有给定的key值正确了,才能够下载nginx目录下的file.gz,这样就可以避免被盗链了。
转
nginx | 评论:0
| Trackbacks:0
| 阅读:864
Submitted by admin on 2011, June 27, 7:14 PM
对于经常刷机的Android机友来说,难免会运气不好碰到刷机失败损坏recovery程序导致手机无法启动的情况,也就是传说中的手机变砖块了。不过刷机失败手机变砖并不是世界末日,略施小计就可以让你的Android手机重新复活。
·首先要在电脑上安装配置AndroidSDK
刷机失败后手机变砖无法在手机上完成操作,此时就需要借助AndroidSDK工具,所以你必须在操作的电脑上下载并安装AndroidSDK程序。
程序的下载地址和具体的安装配置方法请参照下面的地址:http://digi.tech.qq.com/a/20101203/000896.htm
·然后我们需要安装Android手机USB驱动程
安装完AndroidSDK后就可以把手机通过USB线缆连接至电脑,开启手机电源后电脑会提示安装设备驱动程序,不要让系统自动查找驱动程序安装,选择自定义驱动程序位置,因为已经安装了AndroidSDK,驱动程序的位置默认为AndroidSDK的安装目录下的usb_driver子目录,选择从这个目录安装驱动程序。如果之前安装过了驱动,手机可以和电脑连接的,就跳过这步吧。
·接着下载一个对应你的机型可用的ecovery程序
变砖以后的Android手机能否复活的关键就是Recovery程序,因为只要还能进入recovery恢复模式,就意味着你可以再次通过recovery刷写新的ROM,也就相当于是给电脑重新安装操作系统,这样就能重新进入系统了,也就以为着我们可以再次进入手机操作界面了。Android平台有很多可用的recovery程序,不同的机型也都使用着不同的recovery,大家一定要根据自己的手机型号来寻找,针对不同手机型号有不同版本的程序,下载时注意和手机型号匹配这样才能保证安全可靠。把下载的recovery程序放在某一目录备用,例如:c:ecovery.img
·下面要重新给变砖的手机安装recovery程序(重要步骤)
在电脑上打开命令提示符(在Windows系统中选择──开始──运行──输入cmd,然后按回车)
输入#adbdevices回车,如果会显示出一串序列号说明手机已经正常连接电脑了。在命令提示符使用cd命令切换到recovery程序所在的目录。然后输入下面的命令:
#adbrebootbootloader
回车后手机应该会进入fastboot模式,然后再输入执行下面的命令把recovery程序安装到手机上
#fastbootflashrecovery.img
回车后如果看到命令行中有下面的提示就说明recovery程序已经成功安装。
fastbootflashrecoveryrecovery.img
sending‘recovery’(4612KB)…OKAY
writing‘recovery’…OKAY
完成后拔掉手机USB连接线,关机,重新按进入recovery模式的组合键,看看是否可以重新进入recovery模式了,如果可以进入recovery了,这就说明你的手机已经成功复活了,现在可以重新刷机,给手机再安装一个操作系统了。安装完成就能重新进入手机系统正常使用了。
不过上面的这个方法只适用与普通变砖的手机,手机刷机变砖的情况也有很多,不同的情况也会导致不同的结果,如果经过多次测试,上面的办法都无法修复,那就只好找专业人士帮忙检修了。虽然刷机的风险很小,但还是建议大家刷机有风险,操作需谨慎。其实选择一个合适的,稳定的,好用的系统一般就不用折腾了,只要官方没说有升级,自己就无需过多的去刷写其他系统。
android | 评论:0
| Trackbacks:0
| 阅读:974
Submitted by admin on 2011, June 27, 3:11 PM
最近入了一部Desire HD,终于花了一个晚上破解了一下,大部分都是参考网上的帖子:
ROOT+S-OFFhttp://www.hiapk.com/thread-648023-1-1.html
使用USB共享有线网络 http://android.sj.91.com/content/2010-12-09/20101209001826049,1.shtml
关于root
1、何为“root”?
“Root”就是指用户可以完全权限访问Linux内核:“Root用户”可以编辑修改系统 内的任何东西。出于安全考虑,“普通用户”没有该完全访问权限。
root你的手机 之后,你就可以读写未root时你无法访问的手机内部核心区块。
当然,是否root完全取决你自己。普通手机用户不root也可以很好的使用自己的手机。
2、为何要“root”我的手机?
大多数情况下,root仅对手机开发者有用。除非你想要运行一些需要root的软件 ,或者刷机。
root后,你可以做的事:
a)运行更多的Linux命令(android ADB)和超级用户权限。
b)可以使用许多需要root权限的软件(例如,钛备份,Root Explorer等)。
c)更改某些重要的核心系统设置 。比如,关闭官方 Rom的安全校验以使我们可以刷写第三方固件,或者运行某些有趣的调节程序 比如说超频,再或者还可以让我们安装核心recovery程序。
3、root安全吗?
是的。如果你胆大心细,按照教程 来做,不会发生什么蛋疼的事。
4、root后会删除 我的个人资料吗?
不会。root仅仅是改变系统权限而已。
5、root会使我的保修失效吗?
嗯,这是个好问题。退一万步说,你可以unroot你的手机并恢复出厂设置,来假装什么事也没发生过。
话说回来,现在大多数人都是用的水货,保修神马的都是浮云。
6、root后我可以把VISIONary这个软件删掉吗?
可以。卸载VISIONary这个软件并不会unroot你的手机,仅仅是卸载了root手机的工具而已。
但是root后多出来的那个“超级用户”/“授权管理”软件不能删。
7、root过程是可逆的吗?
是的。只要你愿意完全可以unroot你的手机。
8、如何unroot我的手机?
打开VISIONary,点击“Unroot Now!”,就这么简单。
9、root后我可以刷自制rom 了吗?
不行。刷自制rom(非官方的,或是未签名的),需要手机S-OFF。
关于S-OFF和刷机
1、“S-OFF”是什么?我为何需要“S-OFF”?
每一部手机缺省状态下都是“S-ON”。为了获取完全的写入权限(例如刷自制固件,装自制recovery工具),需要转换为“S-OFF”。
S-ON 意为:security on,S-OFF 意为:security off。
S-OFF不同于root:S-OFF可以让你通过Bootloader里的Fastboot或者自制recovery(多数人用的都是clockwork)刷写自制固件。
2、如何“S-OFF”?
目前有两种S-OFF的方法:
a)通过安装工程模式 的hBoot来S-OFF。即所谓的软解。
b)通过某些设备,例如白卡来S-OFF。即所谓白卡解锁。
软解的手机进入Bootloader后第一行的末尾显示的是:ENG S-OFF,白卡解的手机则是:SHIP S-OFF。ENG意为engineering即工程模式,SHIP即意为原厂发布的。
3、如何改回“S-ON”?
因某些原因(送去保修等)想要恢复S-ON的话,需要下载 对应你手机版本的HTC 官方刷写程序RUU刷回原厂固件。这样S-ON就回来了。
4、“RUU”是什么?
RUU意为Rom Update Utility。是一个PC端的刷机工具。大多数RUU都是HTC官方发布的,其包含了刷机工具和官方固件,并打包为一个单独文件 。
5、什么是“Rom”?
Rom意为Read Only Memory,他指手机的不可访问的只读的内部存储单元。他包含了android操作系统和所有原厂预装应用软件工具。
通常一个完整的ROM(或者说固件)包含了:一个recovery镜像,一个boot镜像(包含了核心(Kernel)和ramdisk),一个系统镜像(操作系统,或者简称“OS”),和一个Radio镜像。
我们也经常把可刷入手机内存 的镜像统称为ROM或固件。
6、什么是“Radio”?我们为何要刷Radio?
一个合适的Radio可以改善我们手机的信号 、蓝牙、WiFi和GPS 。也许也可以提高手 机电池 的寿命。
7、什么是“刷机”?
刷机就是把一个新的固件镜像刷入手机的内存里。
你可以刷入一个recovery,或是一个boot,或系统,或Radio,或者是包含以上所有东西的完整Rom。
8、我为什么要刷机?
刷机后:
a)把你的手机更新到最新的官方固件(因为是官方的,所以无需root也无需S-OFF,也不会使保修失效)。
b)把你的手机去除品牌定制化,变成通用的官方固件。
c)刷入了自制固件,其:包含/去除HTC sense,其他android版本,等等。
d)安装了更好用的recovery工具,比如clockwork。
e)更合适的Radio。
9、刷机会删除我的个人资料吗?
如果你仅仅是刷boot或者recovery的话,不会。
但是如果你刷的是系统或者完整的Rom的话,会的。你个人的所有资料都会被清理掉,所以在刷机前请备份个人资料。
在菜市场里有很多备份软件。(例如钛备份)
你也可以备份NANDroid 。
10、刷机会使保修失效吗?
嗯,又是个好问题。同样的退一万步讲,如果你备份后原厂固件或是下载了对应你手机版本的固件的话,可以随时刷回去。
同样,对于大多数的水货手机来说,一切保修都是浮云。
关于Bootloader和Recovery
1、何为“Bootloader”?
Bootloader是一个Rom里的固件管理工具。使用它可以让你恢复出厂设置,用Fastboot刷机,加载Recovery工具。
在Bootloader里你也可以查看S-ON/S-OFF的状态,固件和Radio的版本等等。
进入Bootloader无需root或S-OFF。在每台HTC出厂的手机里都有。
2、如何进入Bootloader?
关机,然后按住音量-和电源键。(需要把“快速开机 ”关闭,在“设置”》“应用程序”里改。或者拔掉电池,让手机真正的关机。)
你可以直接拔电池来退出Bootloader。
如果你装了自制recovery的话,可以进入recovery,然后重启手机。
3、如何备份我的当前ROM(固件)?
在自制recovery里备份。
4、自制recovery是什么?
自制recovery(比如clockwork)是一个增强的recovery版本,其替换了固件里原来的recovery。
自制recovery比原厂的recovery要好,因为他可以让你可以安全的刷写未签名的自制rom,也可以备份你手机内存里的整个固件镜像(NANDroid备份)。
5、如何安装ClokworkMod (CWM)Recovery?
你必须先root和S-OFF。然后用“Rom Manager”安装,或者单独下载clockwork recovery在ADB环境下手动刷写。
6、什么是NANDroid备份?
一个完整的体统镜像可以被重新刷回手机。其不仅仅是简单备份,因为他包含了当前在你手机内存里的所有内容:Boot、Recovery、系统、数据、缓存,等。他是你手机整个ROM的快照。
执行NANDroid备份的方法:进入clockwork recovery,进到“Backup and Restore”选项中执行。NANDroid备份将会被保存在sd卡ClockworkMod文件夹内。
7、如何加载NANDroid备份?
如果你可以进入clockwork recovery的话,只需简单的从他的菜单里加载NANDroid。
如果你的手机变砖从而无法进入clockwork recovery的话,也有最后一个方法:单独下载clockwork recovery至PC里,然后打开cmd控制台,进入存有clockwork recovery的目录,使用以下ADB命令刷写:“fastboot flash recovery recovery-clockwork-2.5.1.2-vision.img”。(前提是你的PC上有ADB环境,不过好像这招对白卡解锁的机器 无用)
8、什么是ADB?
ADB意为Android Debug Bridge。其使用Linux命令对手机发出指令。你可以在MS-DOS环境下直接使用ADB命令,或者进入ADB shell使用Linux命令。通过ADB,你可以安装软件,卸载软件,刷写镜像,改变手机设置等。
android | 评论:0
| Trackbacks:0
| 阅读:1023
Submitted by admin on 2011, June 27, 3:10 PM
使用步骤:
• 安装 Visionary+ (R14)[请直接从手机内存卡安装,至于使用方法,论坛有很多帖子]
• 打开Visionary+,取得临时root权限,直接点击Temproot now就可以了。然后取得永久root权限,即点击Temproot now后,稍等片刻,等屏幕 返回首次打开界面,再点击 Attempt Permroot now,superuser会自动启动,询问你是否允许给予通行,点击允许,即可得到手机的永久root权限(手机会自动重启)。
• 手机连接到电脑 (确保手机的“USB调试”选项打勾并以“仅充电”方式连接电脑)
• 下载附件,解压后打开文件夹里的 "Desire HD easy s-off.exe", 点击 "S-OFF it"!如果SUPERUSER提示需要权限选择“允许”,如果
你的机器已经SHIP S-OFF,则勾上“I Have Radio S-0FF”。

注:软件最后一句是说,作为一个新特性,如果你是SHIP S-OFF(RADIO S-OFF),本工具可以支持任何ROM
• 如果使用完程序出现FC(强制终止)的情况请重启即可,不用担心。
• 完成。(请记得点击“thanks”按钮)
PS:请结合EASY RADIO TOOL一起使用,先做SHIP S-OFF(这是为了安全起见),再使用本软件做ENG S-OFF,用于开通FASTBOOT功能。
android | 评论:0
| Trackbacks:0
| 阅读:920
Submitted by admin on 2011, June 27, 3:05 PM
现在就和大家分享下。
话先说前面,其实我也是个完完全全的小白。第一次用ANDRIOD,第一次ROOT。。。
首先,大家要准备VISIONary软件,我用的是14版的。其次是Gfree。VISIONary到处都有下的,Gfree这里下:http://www.thinkthinkdo.com/trac/project1/raw-attachment/wiki/gfree/gfree.zip 再就是ADB这东西了。这是坛子里某位大大给的地址,我直接放这里了:http://www.hiapk.com/attachment.php?aid=510827&k=6cf5bb5c5884ae991cab62e92e44cc00&t=1299017605&sid=f5feAmdW6028sgyJSZIopF7b2Ds1Qk9OXmNYDaCf2h0a0%2Fw&flag=12
好了,几样东西准备齐了,就一步步来。
1,ADB有两个文件分别是:“adb.exe”和“AdbWinApi.dll”。把它们放到电脑的C:\Windows\System32
2,GFREE也解压放到你硬盘某个区里。比如E:\gfree。里面一共六个文件。
3,VISIONary最好是12以上版的,在手机里装好。
OK,准备工作完毕了,现在我们就开始了。
先来手机这边
“设置”-----“应用程序”-----“未知源”(请勾选对号)、“快速启动(请取消对号)”。再进入“开发”-----“USB调试(请勾选对号)”。然后后退出“设置”即可。
启动VISIONary,勾选“Set system r/w after root”,其他选项都不要勾选。点击“TempRoot Now!”,然后等他执行完毕后再点击“Attempt PermRoot Now!”,手机会弹出要求SuperUser权限,选择,“允许”。完成后手机会自己重启。重启会很慢,请耐心等待……。
重启后手机和电脑联起来,充电模式即可
电脑里点开始---运行----CMD
以下每个步骤间都是回车
1:cmd
2:E:
3:cd gfree\
4:adb push gfree /data/local
5:adb shell
6:su (如果没有出现#,那么输入exit,手机上面执行下VISIONary获取临时root,什么也不用勾,直接点击“TempRoot Now!”然后再在电脑上打adb shell回车,su回车应该就有#了)
7:cd /data/local
8:chmod 777 gfree
9:./gfree
10:sync
11:reboot
好了,再去按音量减和开机键吧。。。
是不是OFF了呢。。。哦也!!!
android | 评论:0
| Trackbacks:0
| 阅读:998
Submitted by admin on 2011, June 27, 3:03 PM
解锁一般分为两种:ENG S-OFF(工程解锁)和SHIP S-OFF(白卡解锁)。 在这不详述这两种解锁方式如何解锁,我们来说说如何判断机器是否已经解锁。
1、取下手机电池,然后重新放入。
2、按住音量下键,点击电源键,手机将进入HBOOT屏。
3、设备上出现白底黑色字体屏幕,这时可以查看最上面第一行最后是S-ON(即为未解锁)还是S-OFF(即为已解锁)。
S-ON为未解锁,请移步对应机型的解锁教程贴进行解锁:
G3:http://bbs.fengbao.com/thread-289107-1-1.html
G7:http://bbs.fengbao.com/thread-288985-1-1.html
G10:http://bbs.fengbao.com/thread-238997-1-1.html
G12:http://bbs.fengbao.com/thread-326425-1-1.html
S-OFF为已解锁,可以开始畅游刷机旅程啦!
ROOT:
如何判断是否已经获取ROOT权限。
先安装一个ES文件管理器。
1、打开ES文件夹管理器,点击硬键的MENU键,出现下弹出框,选择设置。
2、进入设置界面后,将选项菜单向下滑动,找到最下面的ROOT浏览选项,点击进去,勾选ROOT浏览,会依次出现两个弹出框,第一个实验功能选择确定,第二个选择使用系统选择安卓版,然后确定,会出现一个授权管理窗口选择“记住”即可。
3、这时如果ES文件管理器提示你已经获取ROOT权限,那么代表你的ROM已ROOT。并非所有的机型和ROM都已完美获取了ROOT,经过大量测试发现,部分机型ROM的ROOT并不完善。
android | 评论:0
| Trackbacks:0
| 阅读:1003