伪静态例子与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]
#当用户访问 http://www.sodone.com/Article/nsort5-1.html 时实际后台执行的是 http://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]
#当用户访问 http://www.sodone.com/Article/ARTICLE-101.html 时实际后台执行的是 http://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]
#当用户访问 http://www.sodone.com/help/help15-52.html 时实际后台执行的是 http://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]
#当用户访问 http://www.sodone.com/index.html 时实际后台执行的是 http://www.sodone.com/index.html
RewriteRule ^category$ index\.php [L]
#当用户访问 http://www.sodone.com/category 时实际后台执行的是 http://www.sodone.com/index.html

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

作者: sodone
版权属于: SoDone酥蛋

时间: 2024-10-12 21:48:43

伪静态例子与APACHE伪静态配置的相关文章

什么是伪静态,以及apache 如何实现伪静态

原文链接:http://www.cnblogs.com/ainiaa/archive/2010/07/25/1784564.html php伪静态 一直在做php的开发工作.在开发的过程中老早就听说了“伪静态”这一说.但是一直没有对其进行了解. 今天终于下定决定 要好好的了解下这方面的内容. 首先,什么是伪静态: 伪静态又名URL重写,是动态的网址看起来像静态的网址.换句话说就是,动态网页通过重写 URL 方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面. 另外在补充

页面静态化3 --- 伪静态技术之Apache的rewrite机制

  Apache的rewrite机制: 意思就是,你发送的地址,比如:http://localhost/news-id67.html会被Apache改写成http://localhost/news.php?id=67; Apache本身内置了一个模块:(httpd.conf) #LoadModule rewrite_module modules/mod_rewrite.so ---- 去掉注释,开启Apache内置的重写模块开启模块过后,这个模块把news-id67.html重写为news.ph

apache 伪静态转到nginx

1.apache伪静态配置 vim httpd.conf #[plain] view plain copy #加载模块 LoadModule rewrite_module modules/mod_rewrite.so #加载.htaccess AccessFileName .htaccess <Files ~ "^\.ht">     Order allow,deny     Deny from all     Satisfy All </Files> #设置为

apache伪静态规则解析

最近有个客户有个要求,昨天折腾了一会,没解决,今天没啥就多学习学习 还是根据例子来学习比较快 1 简单的重定向规则 RewriteEngine On //启动规则 RewriteBase / //根目录启动伪静态 RewriteRule ^index/$ index.php //访问index/ 那么就是访问index.php RewriteRule ^register/$ /s_youka/register.html //访问register 就是访问/s_youka/register.htm

利用apache伪静态技术防止盗链

(在我们制作网站的过程中,可能会遇到这样的问题,就是其他的网站直接盗用了我们网站的图片或css或js,这样可能会大大增加我们自己网站的负载. 所以,我们应该考虑一下怎样防止这样的事情发生.) 下面我们来模拟一个防盗链的情况: 比如我们的网站下面有一个publicimage目录和一个privateimage目录,其中publicimage目录可以让别人访问,而privateimage目录只能自己访问. 我们应该怎样去实现呢? 我们能想到的方法是:利用apache伪静态技术完成,那应该怎样去做了,下

apache 伪静态 .htaccess

虽然网上有很多教程,但是我在这里进行简单对我用到的总结一下. 加载Rewrite模块: 在conf目录下httpd.conf中找到 LoadModule rewrite_module modules/mod_rewrite.so 这句,去掉前边的注释符号"#",或添加这句. .htacess文件,开头内容如下: RewriteEngine on RewriteEngine on是代表开启rewrite.在正是写规则前,先为大家讲一下重写中设计到的特殊字符的含义.和普通正则是通用的! *

.htaccess转为web.config的操作技巧 apache伪静态转为iis伪静态

apache伪静态转为iis伪静态,完美实现伪静态转化.前提条件如下: 1.安装有iis管理器: 2.iis服务器上安装URL Rewrite: 转化步骤如下: 1.点击默认站点,在右侧打开URL Rewrite: 2.点击右侧导入规则: 3.选择要转化的.htaccess文件: 4.开始导入并复制转化之后的web.config伪静态规则: 原文地址:https://www.cnblogs.com/waiku/p/11753688.html

SEO优化网页伪静态的生成方式和伪静态的用处

伪静态是什么?伪静态就是动态网页通过重写URL的方法实现去掉动态网页的参数,但在实际的网页目录中并没有必要实现存在重写的页面. 伪静态的生成的2种方式: 1.框架型伪静态,这种是非常简单而且也是非常便于识别的,它的原理比较简单,就是做一个静态的主框架页面,然后把动态的内容链入副框架内,这个单从它的URL就可以看出眉目,如果整个网站的URL都是一样的,那么就一定是框架伪静态的. 2.利用组件把asp的后辍显示为htm,这种方法的原理是有一点难度的,它主要是利用一个组件强制性的把asp文件的后辍显示

Apache+Php配置(亲测可用)

引言: 在软件项目中,Maven提供了一体化的类库管理系统,非常实用.但是,如果新增的类库jar在网络上无法获取到,如何在本地按照Maven的规则添加进来呢?本文将通过一个小例子展示新增过程. 背景介绍: 一个Maven管理的Java项目,提供一个系统级别的POM.xml,其中定义了整个项目使用的类库. 需求: 需要添加一个自定义的类库到当前项目中.假定当前的类库文件名为:abc.jar.. 如何将类库添加进来? 1.  找到当前Maven的Repository类库位置 一般默认情况下,在win