Loading...

Tag Archive for 'apache'

    AD: 子非鱼母婴社区 | 猛买 | Jobsdigg | 很棒的男装店

6.10

昨天升级失败,今天心有不甘。一大早就爬起来,开了ubuntu6.10下着。中午下好了,安装,却发现不能从6.06升级(很大的可能是我不会)。我在ubuntu里放了很多东西,最近的一个项目也放在里面,不愿意格掉重来。于是我几乎放弃了安装。不能装6.10,把6.06好好装点一下总还可以吧,我鬼迷心窍地去找了一个叫 XGL的东西,然后装上。 这下好,装上机器慢得要死。然后我都用apt-get把它们又卸掉。没想到卸载的时候,把Gnome也连带着卸了。我启动之后就只能看到一个命令提示符了。我能用root登进去,但是没有窗口管理器了。我又用apt-get花了一个小时装了Gnome,发现还需要配置。配置了一下,还是不行。彻底疯了。 我只好在命令行下,用并不熟悉的cp命令把我工程的文件都拷贝出来,然后又从Alone的机器登录到我的数据库(因为Apache服务是启动的),把数据库备份出来。然后重装。重装当然是装6.10。装好之后,花了几个小时来配置他,终于发现,不能安装ZendStudio,我现在写的,都是用Bluefish:( 就这样,过完了一个烦躁的重阳节。

从”status==200″看服务器状态代码含义

今天看到POPO在谈学AJAX的一个小问题。就是在异步发送数据以后,进行处理的函数中,函数体被包含在if(xmlHTTP.status==200){…}中(这种说法不准确,但一开始学习的时候情况确实是这样的)。 为什么要包含在这里面呢?我一开始在本机未通过服务器测试时,xmlHTTP.status的值一直为0,程序一直不正常。但是我把这个文件放在APACHE服务器文件夹里,通过http协议访问,就正常了。那么,这个200是什么呢?答案是,200是服务器返回的状态代码。 试想如果请求一个服务器上不存在的页面,会提示”错误404″。没错,这个404也是状态代码,表示“无法找到指定资源”。200是什么意思呢?是OK,一切正常,所有POST或GET得到的结果都会跟在后面。现在明白为什么要放这么一句if(xmlHTTP.status==200){…}进行判断了吧。 那再回过头来,为什么不通过网页方式访问,用文件方式访问不能得到正确的状态值呢?其实0并不是一个状态值(最小是100),它的值为0说明没有被初始化。通过文件方式访问根本就没使用HTTP协议,所以也不会有http的状态代码。 呵呵,写这篇文章,所有的学习都是建立在探索的基础上。

通过URL Rewrite实现链接静态化

以前在看大众点评的时候,对他们做的静态化页面百思不得其解。后来问馒头,馒头说可能是服务器设置的问题。反正当时候自己想不明白,只能想到一个折衷的办法,类似于我用的exblog的url伪装功能。 今天看livid又发布了一个新版本的babel。每次的安装说明他都会强调apache 的 url rewrite ,一直不知道是个啥东西。直到上午闲的无聊找zend for linux下中文显示的解决办法,却 看到了一篇和url rewrite有关的文章。 Quote: 1、对于有服务器配置权限的用户,推荐使用Apache的mod_rewrite模块,这里假设已经安装好mod_rewrite模块。打开Apache的配置文件,找到相应主机的部分,添加以下代码: Code: RewriteEngine On RewriteRule ^/abc/([a-z]+)/([0-9]+).html$ /abc.php?action=$1&id=$2 [L] 然后在shell里执行service httpd reload,让Apache重新载入配置就好了。现在在PHP页面里面我们可以把链接写成abc/a/1.html的形式,Apache在解析这个 URL的时候会rewrite成abc.php?action=a&id=1的形式,并返回正确的页面。运用正则表达式我们可以实现几乎任何我们想要的链接形式,mod_rewrite模块的功能异常强大,这里只是一个及其简单的应用。 2、对于租用空间的用户,一般都没有办法修改Apache的配置,这里有个变通的方法,原理是这样的:当要传递参数访问PHP页面时,正常情况下是通过自动全局变量$_GET来获得,比如上面的链接,在页面里可以通过$_GET['action'] 和 $_GET['id']来获得,重写URL后就不行了。现在在每个页面里require一个url_rewrite.php文件,里面代码如下: Code: $filename = basename($_SERVER['SCRIPT_NAME']);if (strtolower($filename) == “abc.php”) { if (!empty($_GET[id])) { $id = intval($_GET[id]); $action = intval($_GET[action]); } else { $nav = $_SERVER["REQUEST_URI"]; $script = $_SERVER["SCRIPT_NAME"]; $nav = ereg_replace(“^$script”, [...]

apt-get

ubuntu让我越来越觉得有意思了,虽然昨天我因为他的web服务头大了一下午。今天照样开不了php的支持,后来我一咬牙,卸掉了apache1.3——这样系统里就只有apache2.0了。同时我卸掉了php4,装了一套php5。又修改了httpd.conf,他就奇迹般地支持php了。:) 虽然看起来麻烦,但是中间的过程根本不用什么”./configure””make””make install”的。当然,我是站在使用者的角度觉得它更易用了,可能以后会改变我的看法。 安装apache2: Code: sudo apt-get install apache2 安装php5: Code: sudo apt-get install php5 装个东西就是这么容易。怎么卸载呢?只要把其中的”install”换成’remove’就好了。对于这个,我一开始异想天开,以为是”uninstall”,后来不对,查了一下help才知道。 我又装了一下phpmyadmin: Code: sudo apt-get install phpmyadmin 这次出了问题,装是装好了,楞是没反应……完了完了,看来还没学到家。不过这种遇到问题解决问题的路子正是我想要的。那天被智勇BS了一下,回头我就拼了老命,终于把web服务配置好了。呵呵,看来智用对我的促进作用有增无减啊。 我不知道apt-get还能get来啥好东西,不过我想了几个东西里面似乎都有。比如wine,php的gd库…… 现在我每天在llinux的时间比在XP的时间多多了。这篇blog就是在linux里面用scim敲的。也许真的windows能带给我们的,linux全都可以——除了工行的网银控件和一堆的游戏。