Penner Blog

Sarah & Penner’s happy life ;)

Archive for 4月, 2005

用CSS实现双色相间表格

星期六
4 30,2005

不过CSS的这种写法,只有MS IE浏览器才能识别:(

  1. <html>
  2. <body>
  3. <style> 
  4. .DoubleColorTable tr{
  5. background-color:expression("#FFFFFF,#EEEEEE".split(",")[rowIndex%2])
  6. }
  7. </style>
  8. <table width="70%" border="1" cellpadding="0" class="DoubleColorTable">
  9.   <tr>
  10.     <td>&nbsp;</td>
  11.   </tr>
  12.   <tr>
  13.     <td>&nbsp;</td>
  14.   </tr>
  15.   <tr>
  16.     <td>&nbsp;</td>
  17.   </tr>
  18.   <tr>
  19.     <td>&nbsp;</td>
  20.   </tr>
  21.   <tr>
  22.     <td>&nbsp;</td>
  23.   </tr>
  24.   <tr>
  25.     <td>&nbsp;</td>
  26.   </tr>
  27. </table>
  28. </body>
  29. </html>

Apache的ReWrite的应用

星期日
4 17,2005

Apache的mod_rewrite是提供了强大URL操作的杀手级的模块,可以实现几乎所有你梦想的URL操作类型,其代价是你必须接受其复杂性,因为mod_rewrite的主要障碍就是初学者不容易理解和运用,即使是Apache专家有时也会发掘出mod_rewrite的新用途。

换句话说:对mod_rewrite,或者是打退堂鼓永不再用,或者是喜欢它并一生受用。

ReWrite可以应用在以下方面或者解决以下问题:

URL的规划
规范的URL
说明:
在有些网站服务器上,一个资源会拥有多个URL,在实际应用和发布中应该被使用的是规范的URL,其他的则是简写或者是内部使用的。无论用户在请求中使用什么形式的URL,他最终看见的都应该是规范的URL。

方案:
对所有的不规范的URL执行一个外部的HTTP重定向,以改变它在浏览器地址栏中的显示及其后继的请求。下例中的规则集用规范的/u/user替换/~user,并修正了/u/user所遗漏的后缀的斜杠。

  1. RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2 [R]
  2. RewriteRule ^/([uge])/([^/]+)$ /$1/$2/ [R]

规范的主机名
说明:

方案:

  1. RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
  2. RewriteCond %{HTTP_HOST} !^$
  3. RewriteCond %{SERVER_PORT} !^80$
  4. RewriteRule ^/(.*) http://fully.qualified.domain.name:%{SERVER_PORT}/$1 [L,R]
  5. RewriteCond %{HTTP_HOST} !^fully\.qualified\.domain\.name [NC]
  6. RewriteCond %{HTTP_HOST} !^$
  7. RewriteRule ^/(.*) http://fully.qualified.domain.name/$1 [L,R]

被移动过的DocumentRoot
说明:
通常,网站服务器的DocumentRoot直接对应于URL”/”,但是,它常常不是处于最高一级,而可能只是众多数据池中的一个实体。比如,在Intranet站点中,有/e/www/(WWW的主页)、/e/sww/ (Intranet的主页)等等,而DocumentRoot指向了/e/www/,则必须保证此数据池中的所有内嵌的图片和其他元素对后继请求有效。 (更多…)

星期日
4 17,2005

下载模块:http://www.nowhere-land.org/programs/mod_vhost_limit/

安装:

  1. apxs -c mod_vhost_limit.c -o /path/to/libexec/mod_vhost_limit.so

在 httpd.conf 加入:

  1. LoadModule vhost_limit_module libexec/mod_vhost_limit.so
  2. AddModule mod_vhost_limit.c

配置:

  1. MaxClients 150
  2. ExtendedStatus On
  3.  
  4. NameVirtualHost *
  5. <VirtualHost *>
  6.     ServerName server1
  7.     DocumentRoot /some/where/1
  8.     MaxVhostClients 100
  9. </VirtualHost>
  10.  
  11. <VirtualHost *>
  12.     ServerName server2
  13.     DocumentRoot /some/where/2
  14.     MaxVhostClients 30
  15. </VirtualHost>
  16.  
  17. <VirtualHost *>
  18.     ServerName server3
  19.     DocumentRoot /some/where/3
  20. </VirtualHost>

其中:server1 被限制为 100 个并发线程数。server2 被限制为 30 个并发线程数。server3 没有被限制。
注:需 mod_status 的 ExtendedStatus On 支持!! (更多…)

用Apache实现虚拟主机服务

星期日
4 17,2005

所谓的虚拟主机服务就是指将一台机器虚拟成多台WEB服务器。举个例子来说,一家公司想从事提供主机代管服务,它为其它企业提供WEB服务。那么它肯定不是为每一家企业都各准备一台物理上的服务器,而是用一台功能较强大的大型服务器,然后用虚拟主机的形式,提供多个企业的WEB服务,虽然所有的WEB服务就是这台服务器提供的,但是让访问者看起来却是在不同的服务器上获得WEB服务一样。

具体地说,就是,我们可以利用虚拟主机服务将两个不同公司www.company1.com与www.company2.com的主页内容都存放在同一台主机上。而访问者只需输入公司的域名就可以访问到它想得到的主页内容。

用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于名字的虚拟主机,下面我们分别介绍一下它们的实现方法。以便大家在具体的应用中能够选择最合适的实现方法。 (更多…)

IIS和Apache共同使用80端口

星期日
4 17,2005

将apache设为使用80端口,IIS使用其它端口,比如8080,然后将apache作为IIS的代理。

在httpd.conf里面,取消下面四行的注释:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

然后建立一个虚拟主机,将该域名的所有访问转向8080端口。

  1. <VirtualHost *:80>
  2.     ServerName blog.penner.cn
  3.     ProxyPass / http://blog.penner.cn:8080/
  4.     ProxyPassReverse / http://blog.penner.cn:8080/
  5. </VirtualHost>

还有一个方法是:

  1. <VirtualHost 127.0.0.1>
  2.     ServerName youdomian.com
  3.     ProxyPass yourdomain.com:iisport
  4.     ProxyRequests on
  5. </VirtualHost>

但是Apache的官方手册提到
在您没有对您的服务器采取安全措施之前,请不要用ProxyRequests启用您的代理。一个开放的代理服务器不仅对您的网络有威胁,对整个因特网来说也同样如此。

星期日
4 17,2005

ServerType standalone
#设置服务器的形式是单独启动(standalone),还是借由互联网络伺服程序inetd来启动。一般使用前者。

ServerRoot “/usr/local/apache”
#设置服务器的Home目录,用来存放服务器的设置文件、错误文件、记录文件。

PidFile logs/httpd.pid
#程序启动时,把父进程httpd的进程号(process id)存在这个文件中。这个文件名可以配合PidFile指令加以改变。

ScoreBoardFile logs/apache_status
#设置网络上WWW服务器一些执行程序的记录文件。

#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
#这两个文件的内容已经包含在httpd.conf文件中了。

|inline

星期五
4 8,2005

由于Windows2003是一款面向企业用户的高端服务器操作系统,为了安全起见,她没有集成对IrDA红外线通信的支持,也就是说没有集成通信协议。

现在有个很简单的办法让Windows2003支持红外线通信,就是把Windows XP系统里的IrDA红外通信协议软件移植到Windows2003中,下载WINDOWS XP系统的红外线协议软件包后(下载地址:见文章结尾处),将压缩包解压,进入解压后的文件夹,运行其中的批处理文件”InsIRDA.bat”,然后双击REG文件夹里面的”infrared.reg”文件将注册表项导入本机注册表中。

接下来,我们便可以按照正常的方法来安装红外线适配器了,不过要注意的是,安装时我们要使用适配器生产商为WINDOWS XP系统提供的驱动程序。安装完成后,我们就可以在Windows2003里使用红外线通信功能了。

Windows2003 红外驱动下载>>
(*解压密码为:blog.penner.cn)

星期三
4 6,2005

关闭整体目录的PHP解析权限

关闭路径为f:/www/site/easy2run/的PHP解析

<Directory "f:/www/site/easy2run/">
    <Files ~ ".php">
        Order allow,deny
        Deny from all
    </Files>
</Directory>

对于某一个特定网址(虚拟主机VirtualHost)进行PHP解析限制

关闭IP为127.0.0.1的PHP解析

<VirtualHost 127.0.0.1>
...
    <Files ~ ".php">
        Order allow,deny
        Deny from all
    </Files>
</VirtualHost>

关于Google的收款地址写法

星期二
4 5,2005

姓名方面 外国人习惯是名(Firstname)在前,姓(Lastname)在后。若碰到让您一起填的,最好要注意一下顺序,不过你要是填反了,也没关系。中国银行收支票时是都承认的。例如:刘刚,可写成GangLiu,也可写成LiuGang。
地址翻译 翻译原则:先小后大。中国人喜欢先说大的后说小的,如**区**路**号。而外国人喜欢先说小的后说大的,如**号**路**区,因此您在翻译时就应该先写小的后写大的。

例如:中国山东省青岛市四方区洛阳路34号3号楼4单元402户
您就要从房开始写起:
Room402,Unit4,Building3,No.34.LuoyangRoad,sifangDistrict,
QingdaoCity,Shandong Prov,China(逗号后面有空格)。

注意其中路名、公司名、村名等均不用翻译成同意的英文,只要照写拼音就行了。因为您的支票是中国的邮递员送过来,关键是要他们明白。技术大厦您写成TechnologyBuilding,他们可能更迷糊呢。现在每个城市的中国邮政信件分拣中心都有专人负责将外国来信地址翻译成中文地址,并写在信封上交下面邮递员送过来。重要:你的邮政编码一定要写正确,因为外国信件中间的几道邮政环节都是靠邮政编码区域投递的。

关于如何验证自己所写的地址到底能不能被当地邮局正确投递的方法。本人经常看到不少新加入网络赚钱的朋友询问关于地址的正确英文表达式,其实你自己完全可以采取一个简单而又有效的办法进行验证。

  1. 去邮局买个信封和邮票;
  2. 在信封上写上你的英文或拼音地址及接收人;
  3. 你也可以用多种方式写一个地址,如no.1xiluroad与xilulu1hao然后将这些写好地址的信封贴好邮票拿去投进邮筒;
  4. 在一星期内应收到这些寄给自己的信,如果收不到就说明你写的地址或是当地的邮局有问题。对于后者,你可以用以下方面进行对邮局的分捡人员进行培训,是否有效,决定于当地邮局的素质将上述信封的地址用中英文同时书写,上一行是英文(拼音),下一行就用中文来写,然后就拿去投寄,一般反复几次,即可OK。
  5. 若不放心,可以叫外地(非本市)的朋友用上述地址寄给你,能收到,那你即可放心好啦。
  6. 还不放心?那你就去邮政局早请一个邮政信箱,这样安系数更大。
  7. 用上面的方面还不行?OK,兄弟我没辙了,要不,我拿我的地址给你?呵呵,开个玩笑。

|inline