当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪ReWrite学习笔记小结       比如,下面,我要实现这样的URL:  http://xxx.com/0725  http://xxx.com/0726  http://xxx.com/0727  …  上面xxx.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思,就是显示07月.........
    ▪apache的多站点虚拟主机配置方法       例:主机IP是:192.168.1.1 你的主机上有三个域名: www.a.com    网页文件放在E:\web\www\1 www.b.com    网页文件放在E:\web\www\2 www.c.com    网页文件放在E:\web\www\3 在apache的httpd.conf中加入 #设置不同.........
    ▪windows下Apache+MySql+PHP3+PHP4+PERL安装配置       OS : Microsoft Windows 2000 Professional简体中文版  WEB SERVER: Apache 1.3.12 for WIN32  MYSQL : MySQL Shareware 3.22.34 for WIN32  PHP3 : PHP 3.0.15 for WIN32  PHP4 : PHP 4.0.0 for WIN32  ZEND : Zend Opti.........

[1]ReWrite学习笔记小结
    来源: 互联网  发布时间: 2013-12-24
比如,下面,我要实现这样的URL: 
http://xxx.com/0725 
http://xxx.com/0726 
http://xxx.com/0727 
… 

上面xxx.com是一个记录《今天是》这样的历史内容的一个测试站点。上面链接的意思,就是显示07月25日的历史上发生了什么事情,类似这样。这样看起来就很美观、整齐了。要不然,可能的地址就是: 
http://xxx.com/index.php?t... 
http://xxx.com/index.php?t... 
http://xxx.com/index.php?t... 
… 

现在我就是要实现把 index.php?today= 隐藏掉。以下是代码: 

1..htaccess 文件 
<IfModule mod_rewrite.c> 
  RewriteEngine On 
  RewriteBase / 
  RewriteCond %{REQUEST_FILENAME} !-f 
  RewriteCond   %{REQUEST_FILENAME} !-d 
  RewriteRule ^([0-9]+)$   /index.php?today=$1 
  </IfModule> 

粗体字这里我说明一下,其它的按这个格式吧,具体我现在也不理解。 
[0-9]的意思是,参数只能是0~9这些数字,如果你要包含任何字符,就改为:

RewriteRule ^(.+)$ /index.php?today=$1   

这里[0-9]改为了. ,这个.就代表任意字符。当然复杂的还很复杂,我们暂时不管。 

2.index.php文件  
代码如下:

<?php      
//rewrite 测试      
$uid =$_REQUEST['today'];      
?>      
<HTML>      
<HEAD>      
<TITLE>rewrite 测试</TITLE>      
</HEAD>      
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080">      
今天是<?php echo $today;?>,看看历史上的今天都发生了什么事情?<br>      
……      
</BODY>      
</HTML>    

这里参数就会传递给index.php文件里的$today,在这个程序内,你就可以根据参数,进行处理,如查询数据库啦、做运算啦等,然后再显示相应的数据出来,就可以了。
实现方法2 
代码如下:

<?php     
//url示例:soft.php/1,100,8630.html     
//利用server变量 取得PATH_INFO信息 该例中为 /1,100,8630.html  也就是执行脚本名后面的部分     
if(@$path_info =$_SERVER["PATH_INFO"]){     
    if(preg_match("/\/(\d+),(\d+),(\d+)\.html/si",$path_info,$arr_path)){     
        $gid     =intval($arr_path[1]); //取得值 1     
        $sid     =intval($arr_path[2]);  //取得值100     
        $softid  =intval($arr_path[3]);  //取得值8630     
        //相当于soft.php?gid=1&sid=100&softid=8630     
    }else die("Path:Error!");     
}else die("Path:Nothing!");     

echo($gid);     
echo("<br>");     
echo($sid);     
echo("<br>");     
echo($softid);     
?>   

    
[2]apache的多站点虚拟主机配置方法
    来源: 互联网  发布时间: 2013-12-24
例:主机IP是:192.168.1.1
你的主机上有三个域名:
www.a.com    网页文件放在E:\web\www\1
www.b.com    网页文件放在E:\web\www\2
www.c.com    网页文件放在E:\web\www\3

在apache的httpd.conf中加入
#设置不同的域名到不同的目录
NameVirtualHost 192.168.1.1
<VirtualHost 192.168.1.1>  
DocumentRoot "E:\web\www\a"    
ServerName www.a.com                
</VirtualHost>

<VirtualHost 192.168.1.1>  
DocumentRoot "E:\web\www\b"    
ServerName www.b.com                
</VirtualHost>

<VirtualHost 192.168.1.1>  
DocumentRoot "E:\web\www\c"    
ServerName www.c.com                
</VirtualHost>

    
[3]windows下Apache+MySql+PHP3+PHP4+PERL安装配置
    来源: 互联网  发布时间: 2013-12-24
OS : Microsoft Windows 2000 Professional简体中文版 
WEB SERVER: Apache 1.3.12 for WIN32 
MYSQL : MySQL Shareware 3.22.34 for WIN32 
PHP3 : PHP 3.0.15 for WIN32 
PHP4 : PHP 4.0.0 for WIN32 
ZEND : Zend Optimizer beta4 for PHP 4.0.0 for WIN32 
【★★★ Apache快速安装 ★★★】 
1. 运行 apache_1_3_12_win32.exe ,按照提示安装,安装目录不妨为: 
  c:\apache 
2. 修改 c:\apache\httpd.conf,去掉ServerName前的"#"号,后面 
  跟本机的IP地址 
3. 运行 c:\apache\apache -i 将Apache安装成为Windows 2000的一个服务 
4. 运行 net start apache 启动Apache 
5. 将 c:\apache\htdocs\index.html.en 改名为 index.html ,然后 
  在浏览器地址栏中输入: 
【★★★ MySql快速安装 ★★★】 
1. 将 mysql-shareware-3.22.34-win.zip 解压缩到一个临时目录下, 
  然后运行 setup.exe 开始安装,一切用默认值安装即可 
2. 运行 c:\mysql\bin\mysqld-shareware --install 
  将mysql安装成Windows 2000的一个服务 
3. 运行 net start mysql  启动mysql服务即可 
【★★★ PHP3快速安装 ★★★】 
1. 将 php-3.0.15-win32.zip 解压缩到一个目录下,例如 
  c:\apache\php3 
2. 将 c:\apache\php3\php3.ini-dist 拷贝到 c:\winnt 目录下, 
  并改名为 php3.ini 
3. 修改 c:\apache\conf\srm.conf,加入如下几行: 
ScriptAlias /php3/ "c:/apache/php3/" 
Addtype application/x-httpd-php3 .php3 
Action application/x-httpd-php3 "/php3/php.exe" 
4. 重新启动Apache (net stop apache, net start apache) 
  PHP3就可以运行了,创建一个文件 c:\apache\htdocs\info.php3 , 
  内容只有一行: 
   
  然后在浏览器地址栏中输入: 
5. 为了加入对MySql的支持,需要编辑 c:\winnt\php3.ini , 
  找到extension_dir,将该行改为: 
extension_dir = "c:\apache\php3\" 
  再找到 
;extension=php3_mysql.dll 
  去掉前面的分号即可 
【★★★ PHP4快速安装 ★★★】 
1. 将 php-4.0.0-Win32.zip 解压缩到一个目录下,例如 
  c:\apache\php 
2. 将 c:\apache\php\php.ini-dist 拷贝到 c:\winnt 目录下, 
  并改名为 php.ini 
3. 将 c:\apache\php\php4ts.dll 拷贝到 c:\winnt\system32 目录下 
4. 修改 c:\apache\conf\srm.conf ,加入如下几行: 
ScriptAlias /php/ "c:/apache/php/" 
Addtype application/x-httpd-php .php 
Action application/x-httpd-php "/php/php.exe" 
5. 重新启动Apache (net stop apache, net start apache) 
  PHP4就可以运行了,创建一个文件 c:\apache\htdocs\info.php , 
  内容只有一行: 
   
  然后在浏览器地址栏中输入: 
  PHP4内置对MySql的支持,不需要额外设置 
【★★★ Zend Optimizer for PHP4快速安装 ★★★】 
1. 将 ZendOptimizer-Beta4-WindowsNT.zip 解压缩到一个目录下, 
  例如 c:\apache\zend 
2. 修改 c:\winnt\php.ini ,在任何地方加入如下两行: 
zend_optimizer.optimization_level=7 
zend_extension_ts="c:\apache\zend\ZendOptimizer.dll" 
3. 在浏览器中刷新info.php,可以看到多了这么一行: 
  with Zend Optimizer v0.98, Copyright (c) 1998-2000, by Zend Techno 
logies 
【★★★ Active Perl快速安装 ★★★】 
1. 鼠标双击 ActivePerl-5.6.0.613.msi 运行之,这是一个Windows 
  Installer Packge格式的安装包,在Windows 2000下可以直接 
  运行,按照提示安装,默认的安装路径是 c:\perl ,不妨改成 
  c:\usr 
2. 修改 c:\apache\srm.conf ,加入如下一行: 
AddHandler cgi-script .pl 
3. 在PERL程序的第一行加上: 
#!/usr/bin/perl 
4. 为了让Apache也能够识别*.cgi程序,在 srm.conf 中加入: 
AddHandler cgi-script .cgi 
  这样一来本地的PERL CGI程序就可以和UNIX主机上的完全保持一致了 
  为了让Apache能够处理Server Side Include,在 srm.conf 中加入: 
AddType text/html .shtml 
AddHandler server-parsed .shtml 
  这样CGI程序就可以以SSI的方式运行了 
5. 为了让以上修改生效,需要重新启动Apache (net stop apache, net start 
apache) 

完全按照以上步骤进行,就会在不出错的情况下拥有了 
Apache+MySql+PHP3+PHP4+PERL的运行环境了!事实上, 
以上方法在Windos NT4.0+SP3+中一样可行。 
【☆☆☆ Apache概要说明 ☆☆☆】 
Apache的默认安装目录是c:\program files\apache group\apache, 
不过为了方便起见,不妨将它安装到c:\apache目录下。配置文件是 
c:\apache\conf\httpd.conf,通常至少需要修改的是ServerName这 
一项,把注释符号"#"去掉,最简单是后面跟IP地址,对于有WINS 
的局域网用户可以用机器名,对于有DNS的网络用户可以用域名。在 
Windows 2000下没有设置ServerName这一项会造成Apache不能启动。 
还有一个影响是当用如下方式使用Alias时: 
Alias /userdir "c:/userdir/" 
假如这样调用: 

不会产生任何问题,可是如果这样调用: 

那么localhost会被替换成ServerName所指定的值,如果这个值不能 
被正确解析,就无法访问。 
用户的配置项目添加在httpd.conf或者srm.conf中都可以,一说是将 
所有的配置项目都放在httpd.conf中,这样只需要修改维护这一个 
配置文件,比较方便,而且避免了冲突(这是srm.conf文件中说的!)。 
可是httpd.conf确实太大了,要在里面搜索特定的项目就不很容易。 
还有一说是将所有的用户自己添加修改的配置项目都放在srm.conf中, 
这个文件很小,便于察看修改,本人倾向于后者。 
在httpd.conf中,Apache的其它常用的可能需要修改的设置有: 
ServerAdmin #管理员的e-mail地址 
DocumentRoot "c:/apache/htdocs" #默认的根路径 
注意路径全都是用斜线而不是反斜线来分隔 
DirectoryIndex index.html index.php index.php3 index.htm index.shtml 
这一项指明了在每个目录中的默认文档及其顺序 
AccessFileName .htaccess #目录访问的配置文件名 
用资源管理器会发现无法将一个文件改名成".htaccess",不过 
在命令行 
发表于:中国PHP联盟 作者/来源:dalasthunder/网易 人气:2124 
标 题: Windows 2000+Apache+MySql+PHP3+PHP4+PERL使用小结(二) 
<-------- 接上文 --------> 
【☆☆☆ MySql概要说明 ☆☆☆】 
MySql的默认安装目录是 c:\mysql ,安装结束后没有任何提示信息 
说安装结束,请点 Finish 按钮之类的话,直接就退出了。如果需要 
安装到其他目录,建议先安装到 c:\mysql ,然后再整个目录 move 
到自己希望的地方,例如移动到 d:\mysql 之后,需要编辑 
d:\mysql\my-example.cnf 
(*.cnf的文件在Windows 2000中会被注册成为 SpeedDial 文件,在 
资源管理器中无法操作,要用命令行来启动 notepad 编辑,例如运行 
notepad d:\mysql\my-example.cnf ,但是这个文件是UNIX系统下的 
文本文件格式,在notepad中不能正确换行,可以用write打开编辑, 
或者用write打开后保存一次,再用notepad就可以编辑了。)找到 
basedir一行,去掉前面的"#"号注释,将后面的路径改为移动后的 
目录(目录分隔符要用斜线而不是反斜线),然后另存为: 
c:\my.cnf 
用服务方式启动的MySql如果用 net stop mysql 来停止,会得到一条 
出错消息,例如: 
    C:\>net stop mysql 
    MySql 服务正在停止. 
    系统出错。 
    系统发生 1067 错误。 
    进程意外终止。 
    MySql 服务已成功停止。 
这没有关系,MySql确实已经停止了。但是假如不希望看到任何出错消息 
的话,可以用以下的命令来停止: 
    C:\>mysql\bin\mysqladmin -u root shutdown 
如果没有任何提示信息,说明MySql已经成功停止了。 
需要说明的是MySql虽然号称安装简单,易于使用,但是这毕竟是 
基于SQL的数据库管理系统,所以如果不是对SQL十分精通的话恐怕也 
不能拿它来做什么。网上有许多管理MySql的工具,例如基于PHP3的有 
phpMyAdmin,MAP,基于Windows的有MySqlWinAdmin, myAdmin等。由于 
PHP3与PHP4的MySql功能颇多不兼容之处,所以我建议在Apache中同时 
安装PHP3与PHP4。这两个小程序可以在这里下载: 

都只有几十K,而且phpMyAdmin中还包含有简体中文的提示, 
将 phpMyAdmin_2.0.5.zip 带目录名解压缩到 c:\apache\htdocs目录下, 
或者其他设定了 Alias 的目录下,然后编辑文件: 
c:\apache\htdocs\phpMyadmin\config.inc.php3 
在里面找到: 
require("english.inc.php3"); 
一行,将它替换成: 
require("chinese_gb.inc.php3"); 
然后保存。在启动它之前还有一件必须要做的事就是编辑 c:\winnt\php3.ini , 

在里面找到 include_path 一行,将它修改为: 
    include_path = "c:\apache\htdocs\phpmyadmin" 
保存后在浏览器地址栏中输入: 
     
看到没有?它说--〉"欢迎使用 phpMyAdmin 2.0.5" ! 
【☆☆☆ PHP3概要说明 ☆☆☆】 
PHP3似乎没有什么其它需要特殊设定的东西,唯一需要修改的文件就是 php3.in 
i 。 
上面已经提到要修改的两个部分: 
    include_path = "c:\apache\htdocs\phpmyadmin;c:\apache\htdocs" 

凡是在PHP3中使用了 include 或者 require ,所要包含的文件必须在 
include_path 所设定的路径之一,好在修改了php3.ini后会立即生效, 
不需要重新启动apache。 
    extension_dir = "c:\program files\apache\php3\" 
这一项也是必需的,否则无法加载扩展模块。 
php3.ini中的内容是区分大小写的!不过Windows的路径名大小写没有关系。 
【☆☆☆ PHP4概要说明 ☆☆☆】 
PHP4与PHP3颇多不同之处,php.ini的大小就比php3.ini大了几乎一倍。 
所要修改的项目与php3.ini中的两项一样,include_path 与 extension_dir 。 

不过由于内置了MySql的支持,如果只用MySql的话,那么连 extension_dir 
也不用修改,保持默认值即可。PHP4提供了两个php.ini的版本可用选择: 
php.ini-dist 
php.ini-optimized 
如果使用 php.ini-dist 的话,那么在使用上没什么问题。可是也许有 
好事之徒如我,用了 php.ini-optimized ,那么会遇到重大问题。 
大家知道,PHP对于表单的处理极为方便,对于使用了 post 方法的表单, 
PHP会自动根据表单的 name 生成同名的变量,几乎所有的PHP程序都是 
这样使用自动生成的表单变量的,然而如果将 php.ini-optimized 拷贝 
到 c:\winnt 目录下并改名为 php.ini 的话,将没有自动表单变量生成! 
仔细看看 php.ini-optimized ,有这么一段: 
    register_globals = Off  ; Whether or not to register the EGP 
CS variables as global 
                 ; variables. You may want to turn t 
his off if you don@#t want 
                 ; to clutter your scripts@# global sc 
ope with user data. This makes 
                 ; most sense when coupled with track 
_vars - in which case you can 
                 ; access all of the GPC variables th 
rough the $HTTP_*_VARS[], 
                 ; variables. 
为了能够正确运行其他人写的PHP范例程序,建议还是改成: 
    register_globals = On 
其实我使用PHP的经验还不是很多,但是仍然注意到以下几个问题: 
1. 在需要包含另外一个文件时可以用 include ,也可以用 require 。 
  但是要求在 php.ini 中有路径设定。假如包含文件的目的仅仅是为了 
  在浏览器中显示输出的话,可以用 
    readfile("filename"); 
  而且参数还可以是 http 或者 ftp 的 URL 。 
2. 要获取本文件的文件名,许多人用 $PHP_SELF ,可是我觉得用 
    getenv("PATH_INFO"); 
  更好。使用的场景例如: 
    
"> 

3. 要读入整个文件,简单地使用: 
    $contents=file("filename"); 
  就可以了,$contents 会成为一个 array 变量,文件的每一行会成为 
  $contents 中的每一项。阵列下标从 0 到 count($contents) 。 
【☆☆☆ Zend Optimizer for PHP4概要说明 ☆☆☆】 
该软件也可以从以下地址下载,只有41K: 

需要注意的就是这个版本是 
Zend Optimizer Beta4 for PHP4.0.0 for WindowsNT,版本号是0.98。 
只能用在上述的 PHP4.0.0 for WIN32 这个版本上。 
【☆☆☆ Active Perl概要说明 ☆☆☆】 
Active State的Active Perl5.6是目前最流行的最新版本的PERL解释器, 
不明白为什么要 8174K 这么大?几乎是Apache和MySql加起来的大小。 
不过这是完全版本的PERL,包含有PERL5的各个模块。之所以建议安装到 
c:\usr 
目录下,是由于这样一来PERL的CGI程序就可以用和在UNIX下一样的 
SHABANG行了: 
#!/usr/bin/perl 
当然,按照Windows格式用也可以: 
#!c:\usr\bin\perl.exe 
这样在自己的机器上调试好的PERL程序不用修改就可以上传到UNIX主机上 
去使用,方便很多。关于PERL的编程问题不在本文讨论的范围之内。 
本文旨在抛砖引玉,希望和各地的朋友交流。也希望大家把在使用PHP及其 
相关环境中的心得写出来与网友们共享,共同进步。 
如果发现文中有错误,敬请指正,不胜感激。方式下可以,用notepad也可以另存为这个文件名。 

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
NOSQL iis7站长之家
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3