伪静态例子与apache伪静态配置

伪静态只是改变了URL的显示形式,实际上还是网站页面还是动态页面。伪静态的页面后缀可以是html 、 htm 或者是目录格式等。那么为什么要用 伪静态呢?

两点原因:1是seo优化,伪静态有利于搜索引擎的收录,能够增加网站优化效果;2是url看起来简单,网站URL给人专业性。

我们依然是通过.htaccess的文件来实现伪静态。具体的.htaccess设置详见两种apache域名跳转法简单完成重定向中的“2.用.htaccess做域名跳转”。

保证.htaccess文件能用后,我们在.htaccess中增加相关内容实现伪静态。下面是伪静态例子,我同时在配置里面#号部分给大家简单说明几类伪静态的作用。apache伪静态配置代码如下:

RewriteRule ^Article/nsort5-1\.html article_cat\.php\?id=20 [NC,QSA,L]
#当用户访问 https://www.sodone.com/Article/nsort5-1.html 时实际后台执行的是 https://www.sodone.com/article_cat\.php\?id=20
RewriteRule ^Article/nsort1-1\.html article_cat\.php\?id=16 [NC,QSA,L]
RewriteRule ^Article/nsort2-1\.html article_cat\.php\?id=17 [NC,QSA,L]
RewriteRule ^Article/nsort3-1\.html article_cat\.php\?id=18 [NC,QSA,L]
RewriteRule ^Article/nsort4-1\.html article_cat\.php\?id=19 [NC,QSA,L]

RewriteRule ^Article/Article-([0-9]+)\.html$ article\.php\?id=$1 [NC,QSA,L]
#当用户访问 https://www.sodone.com/Article/ARTICLE-101.html 时实际后台执行的是 https://www.sodone.com/article.php?id=101

RewriteRule ^help/help([0-9]+)\.html$ help\.php\?categorie_id=$1 [NC,QSA,L]
RewriteRule ^help/help([0-9]+)-([0-9]+)\.html$ help\.php\?id=$2&categorie_id=$1 [NC,QSA,L]
#当用户访问 https://www.sodone.com/help/help15-52.html 时实际后台执行的是 https://www.sodone.com/help.php?id=52&categorie_id=15
#注意 $1 与$2的关系,很多人在这里出问题;在对前面部分的URL替换过程中先替换$1 ,然后替换$2

# direct one-word access
RewriteRule ^index\.html$ index\.php [L]
#当用户访问 https://www.sodone.com/index.html 时实际后台执行的是 https://www.sodone.com/index.html
RewriteRule ^category$ index\.php [L]
#当用户访问 https://www.sodone.com/category 时实际后台执行的是 https://www.sodone.com/index.html

对配置做几点补充说明:
L 表明当前规则是最后一条规则,停止分析以后重写
NC 不区分大小写
QSA 追加请求的字符串
^表示语句开始
$ 表示语句的结束

LAMP最新高安全phpMyAdmin4.0.6安装配置文档

LAMP环境(Linux+Apache+Mysql+Perl/PHP/Python)下的数据库维护与数据库性能监控最好用的工具就是phpMyAdmin。现在phpMyAdmin最新版本为4.0.6-rc2。下面用最简单的文字介绍如何建立一个高安全的phpMyadmin管理环境。

通过两个技术来实现phpMyAdmin安全管理:1建立安全的虚拟主机控制访问IP地址;2.通过phpMyadmin的blowfish_secret加密技术对重要信息加密传输。

我的服务器测试环境如下:
操作系统:Linux sodone2 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
php版本:PHP 5.3.2 (cli) (built: Aug 17 2010 04:35:29)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

现在开始正式部署phpMyAdmin:
1.建立只有特定IP可以访问的虚拟主机,其中虚拟主机的根目录为 html/pa,假设对应该域名为www.sodone.com
具体建立步骤见通过允许指定IP访问apahce虚拟主机加强服务器安全
当然,如果你的服务器没有放在互联网中,或服务器前端已经通过防火墙做了相关的限制,你可以忽略这步操作。
2.下载最新phpMyAdmin-4.0.6
你可以从本网站直接下载:phpMyAdmin-4.0.6-rc2-all-languages
也可以从sourceforege下载:http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.0.6-rc2/phpMyAdmin-4.0.6-rc2-all-languages.zip
还可以从phpmyadmin官网查询下载。

3.把phpMyAdmin-4.0.6-rc2-all-languages.zip解压缩到pa目录
unzip phpMyAdmin-4.0.6-rc2-all-languages.zip
cd  phpMyAdmin-4.0.6-rc2-all-languages
mv * ../
cd ..
上面命令完成把phpMyAdmin放到html/pa主目录。

4.配置phpMyAdmin
在html/pa目录下执行下面的操作
cd libraries
cp config.default.php config.inc.php

如果mysql数据库与web服务器都在本地,mysql没有做特殊配置的话,现在你就可以通过www.sodone.com直接访问phpMyAdmin管理页面了。最新版本中不给blowfish_secret设值通过cookie认证方式也可以访问。

但是从安全角度我们还是建议增加blowfish_secret值,这个值要注意自己保留好,用于数据传输时加密用,这样可以保证phpMyAdmin远程管理数据不会被别人捕获后简单就可破解。
我们在当前目录下vi config.inc.php,给blowfish_secret设置一下复杂一点的值,类似下面这样:
$cfg[‘blowfish_secret’] = ‘dasfaadfasdfadfsadsfa’;

现在你就可以安全的管理你的远程mysql数据库了。

下面我们对config.inc.php的其它配置做个简单补充:
$cfg[‘Servers’][$i][‘host’] = ‘localhost’; 如果你的数据库与你的phpMyAdmin不在一个服务器上,可以修改localhost为你的数据库IP地址,如果要用phpMyAdmin的性能监控功能,服务器与办公网两地的网速都可以的话,可以把phpMyAdmin放到本地网内,连接远程的数据库地址;
$cfg[‘Servers’][$i][‘port’] = ’81’;这是mysql的端口,你mysql变更过端口,这里也要相应变更。
$cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;支持cookie,http,config方式。config方式不用密码可直接登陆,建议只在测试时用,php安装模式为apache时可以用http和cookie。建议用cookie方式。