澳门新葡亰娱乐官网Search Engine Friendly的URL设计

Search Engine
Friendly的UHighlanderL设计版权注脚:能够私自转发,转发时请必得以超链接方式申明文章原本出处和小编音讯及本注明_url.html关键词:”url
rewrite” mod_rewrite isapirewrite path_info “search engine
friendly”内容摘要:别的随着互联英特网的内容以惊人速度的拉长也进一层杰出了查找引擎的严重性,借使网址想越来越好地被找出引擎收音和录音,网站设计除了面向客户友好外,寻找引擎友好的规划也是丰富重要的。步入寻觅引擎的页面内容越来越多,则被客商用差异的主要词找到的可能率越大。在谷歌(Google卡塔尔(قطر‎的算法侦查一文中涉及一个站点被Google索引页面包车型客车数据实在对PageRank也可以有早晚影响的。由于谷歌优异的是全体互连网中相对静态的一些,
链接地址相对牢固的静态网页比较契合被Google索引,因而不菲关于面向寻觅引擎
UEvoqueL设计优化(URAV4I
PrettyState of Qatar的篇章中涉嫌了众多接纳自然机制将动态网页参数变成像静态网页的样式:比如能够将:变成:完毕格局首要有2种:基于url
rewrite 基于path_info 把U智跑I地址用作参数字传送递:U大切诺基L
REW中华VITE最简易的是依据种种WEB服务器中的U瑞鹰L重写转向模块的UMuranoL转变:这样差不离能够不更正程序的贯彻将
news.asp?id=234 那样的链接映射成
news/234.html,从外边看上去和静态链接相像。Apache服务器上有叁个模块:mod_rewrite:URubiconL
REW奥迪Q3ITE功用之强盛丰富写上一本书。当笔者急需将将news.asp?id=234的映射成news/234.html时,只需安装:RewriteRule
/news/(/d+State of Qatar/.html /news/.asp/?id=$1 [N,I]这样就把 /news/234.html
那样的乞求映射成了
/news.asp?id=234当有对/news/234.html的号召时:web服务器会把实际诉求转载给/news.asp?id=234而在IIS也是有相应的REWMuranoITE模块:比方ISAPI
REWCR-VITE和IIS
REW宝马X5ITE,语法都以依附正则表明式,由此配置大约和apache的mod_rewrite是相仿的:比对于某一个回顾利用能够是:RewriteRule
/news/(/d+卡塔尔国/.html /news/news/.php/?id=$1 [N,I]如此就把 映射到了
多少个更通用的能够将兼具的动态页面实行参数映射的表明式是:把 表现成。RewriteRule (.*?/.php)(/?[^/]*)?/([^/]*)/([^/]*)(.+?)?
$1(?2$2&:/?)$3=$4?5$5: [N,I]经过U奥德赛L
REWCR-VITE还恐怕有叁个功利正是藏身后台实现,那在后台应用平台的动员搬迁时特别有效:当从asp迁移到java平台时,对于前台顾客来讲,更本心得不到后台应用的变型。例如大家须要将应用从news.asp?id=234迁移成news.php?query=234时,前台的显示能够一向保持为
news/234.html。从达成应用和前台表现的分别:保持了UGL450L的平安,而利用mod_rewrite以至能够把须求转载到任何后台服务器上。基于PATH_INFO的U冠道L美化Url美化的别的贰个艺术正是基于PATH_INFO:PATH_INFO是贰个CGI
1.1的专门的学业,常常发掘好多跟在CGI前面包车型大巴”/value_1/value_2″就是PATH_INFO参数:比如,中:$PATH_INFO
= “/man/ls”PATH_INFO是CGI规范,由此PHP
Servlet等皆某些帮忙。举例Servlet中就有request.getPathInfo(State of Qatar方法。注意:/myapp/servlet/Hello/foo的
getPathInfo(State of Qatar再次来到的是/foo,而/myapp/dir/hello.jsp/foo的getPathInfo(State of Qatar将赶回的
/hello.jsp,今后处您也足以精晓jsp其实就是三个Servlet的PATH_INFO参数。ASP不支持PATH_INFO,PHP中基于PATH_INFO的参数深入分析的例证如下://注意:参数按”/”分割,第多个参数是空的:从/param1/param2中深入分析出$param1
$param2这2个参数if ( isset($_SERVER[“PATH_INFO”]) ) { list($nothing,
$param1, $param2) = explode(‘/’,
$_SERVER[“PATH_INFO”]澳门新葡亰娱乐官网,State of Qatar;}怎样隐讳应用:举例.php,的增添名:在APACHE中那样安顿:FilesMatch “^app_name$” ForceType
application/x-如何更像静态页面:app_name/my/app.html解析的PATH_INFO参数的时候,把最后八个参数的最后5个字符“.html”截断就可以。注意:APACHE第22中学缺省是不准PATH_INFO的,必要设置AcceptPathInfo
on极其是指向使用设想主机客户,无权安装和布局mod_rewrite的时候,PATH_INFO往往就成了独一的选料。OK,这样之后见到相似于那样的网页你就明白或许是
article/show.php?id=234那个php程序生成的动态网页,超多站点表面看上去恐怕有过多静态目录,其实很有一点都不小可能率都是应用1,2个程序实现的剧情公布。举例比较多WIKIWIKI系统都利用了那几个机制:整个连串就三个简单易行的wiki程序,而看上去的目录其实都以其一利用拿后边的地点作为参数的询问结果。利用基于MOD_REWRITE/PATH_INFO

CACHE服务器的应用方案对原始的动态发表体系开展改换,也足以大大减少旧有系统晋级到新的开始和结果处理种类的资金财产。何况有帮衬了追寻引擎收音和录音入索引。
附:如何在IIS上利用PHP帮助PATH_INFOPHP的ISAPI形式安器具忘:只试成
php-4.2.3-Win32解包目录========php-4.2.3-Win32.zip
c:/phpPHP.INI初阶化文件=================复制:c:/php/php.ini-dist 到
c:/winnt/php.ini配置文件涉及============根据install.txt中的表明配置文件涉及运营库文件==========复制
c:/php/php4ts.dll 到
c:/winnt/system32/php4ts.dll那样运营后:会意识php把PATH_INFO映射到了物理路线上Warning:
Unknown(C:/CheDong/Downloads/ariadne/State of Qatar: failed to create stream: No such
file or directory in Unknown on line 0Warning: Unknown(卡塔尔(قطر‎: Failed opening
‘C:/CheDong/Downloads/ariadne/’ for inclusion
(include_path=’.;c:/php4/pear’卡塔尔 in Unknown on line
0安装ariadne的PATCH==================甘休IIS服务net stop
iisadminftp://ftp.muze.nl/pub/ariadne/win/iis/php-4.2.3/php4isapi.dll覆盖原有的c:/php/sapi/php4isapi.dll注:ariadne是八个遵照PATH_INFO的内容发表系统,PHP
4.3.2 RC第22中学CGI方式的PATH_INFO已经校勘,照常安装就能够。参照他事他说加以考查资料:U牧马人L
Rewrite文书档案:_rewrite.html_rewrite.html寻觅引擎友好的URL设计大概这些UOdysseyL原来正是articel.php?id=485一个依照PATH_INFO的开源内容管理类别还未索引什么?的PageRank表达:

趁着网络络的内容以惊人速度的巩固也越加卓绝了探求引擎的尤为重要,假设网址想更加好地被寻觅引擎收音和录音,网址设计除了面向客户友好(User
Friendly)外,寻觅引擎友好(Search Engine
Friendly)的两全也是相当的重大的。步向寻找引擎的页面内容越来越多,则被客商用分歧的重要词找到的可能率越大。在谷歌的算法考察一文中关系多少个站点被Google索引页面包车型客车数量其实对PageRank也许有早晚影响的。由于谷歌优良的是100%互连网中相对静态的局地(动态网页索引量十分小),链接地址相对固化的静态网页相比较相符被谷歌(Google卡塔尔国索引(怪不得超多大网址的邮件列表归档和BLOG按日期归档的文书档案很容被搜的到),由此不罕有关面向搜索引擎
URubiconL设计优化(UTiggoI
Pretty卡塔尔(قطر‎的篇章中关系了无数选用早晚机制将动态网页参数变成像静态网页的花样:
譬如说能够将:
http://phpunixman.sourceforge.net/index.php?mode=man¶;meter=ls
变成:

 

落真实意况势入眼有2种:

基于url rewrite
IIS的ISAPI REWRITE下载(免费)
基于path_info
把ULX570I地址用作参数传递:U翼虎L REWTiguanITE

最轻便易行的是依据各样WEB服务器中的UWranglerL重写转向(Rewrite)模块的USportageL调换:
那样差不离能够不改造程序的兑现将 news.asp?id=234 那样的链接映射成
news/234.html,从外边看上去和静态链接相像。Apache服务器上有七个模块(非缺省):mod_rewrite:U悍马H2L
REW大切诺基ITE效能之强大丰硕写上一本书。

当本身急需将将news.asp?id=234的映射成news/234.html时,只需安装:
RewriteRule /news/(d+).html /news.asp?id=$1 [N,I]
如此就把 /news/234.html 那样的伸手映射成了 /news.asp?id=234
当有对/news/234.html的伏乞时:web服务器会把实际要求转载给/news.asp?id=234

而在IIS也可能有照应的REW奥德赛ITE模块:比如ISAPI REWTucsonITE和IIS
REWLX570ITE,语法都以基黄浩但是表明式,因而配置差相当少和apache的mod_rewrite是同样的:

比对于某三个简易利用可以是:
RewriteRule /news/(d+).html /news/news.php?id=$1 [N,I]
这么就把 映射到了

八个更通用的能够将装有的动态页面进行参数映射的表明式是:

表现成 。
RewriteRule (.*?.php)(?[^/]*)?/([^/]*)/([^/]*)(.+?)?
$1(?2$2&:?)$3=$4?5$5: [N,I]

弹指间是真对phpBB的二个Apache mod_rewrite配置样例:
mod_rewrite和isapirewrite基本相称,然则照旧多少分歧,举个例子:isapirewrite中”?”须求转义成”?”,mod_rewrite不用,isapirewrite支持
“d+” (全部数字),mod_rewrite不支持
RewriteEngine On
RewriteRule /forum/topic_(.+).html$ /forum/viewtopic.php?t=$1 [L]
RewriteRule /forum/forum_(.+).html$ /forum/viewforum.php?f=$1 [L]
RewriteRule /forum/user_(.+).html$
/forum/profile.php?mode=viewprofile&u=$1 [L]

如此设置后就足以因此topic_1234.html forum_2.html
user_34.html如此的链接待上访谈原本的动态页面了。
通过U奥迪Q3L REW君越ITE还应该有部分益处:

隐讳后台实现:那在后台应用平台的迁徙时特别实用:当从asp迁移到java平台时,对于前台顾客来讲,根本心得不到后台应用的变型;
简化数据校验:因为像(d+卡塔尔国那样的参数,能够有效的调控数字的格式以至位数;
比方大家须要将使用从news.asp?id=234迁移成news.php?query=234时,前台的变现能够直接维持为
news/234.html。从得以完毕利用和前台表现的握别:保持了UOdysseyL的安宁,而利用mod_rewrite以致足以把必要转载到其余后台服务器上。

基于PATH_INFO的URL美化
Url美化的别的二个方法便是根据PATH_INFO:
PATH_INFO是三个CGI
1.1的标准,平日开采好些个跟在CGI前面包车型地铁”/value_1/value_2″就是PATH_INFO参数:
比如,中:$PATH_INFO
= “/man/ls”

PATH_INFO是CGI规范,因而PHP
Servlet等皆有个别扶持。比方Servlet中就有request.get帕特hInfo(State of Qatar方法。
留意:/myapp/servlet/Hello/foo的
getPathInfo(卡塔尔重返的是/foo,而/myapp/dir/hello.jsp/foo的getPathInfo(State of Qatar将赶回的
/hello.jsp,今后处您也能够清楚jsp其实正是一个Servlet的PATH_INFO参数。ASP不支持PATH_INFO,

PHP中基于PATH_INFO的参数深入深入分析的例子如下:
//注意:参数按”/”分割,第二个参数是空的:从/param1/param第22中学剖判出$param1
$param2那2个参数
if ( isset($_SERVER[“PATH_INFO”]) ) {
list($nothing, $param1, $param2) = explode(‘/’,
$_SERVER[“PATH_INFO”]);
}

什么样隐瞒应用:例如 .php,的扩张名:
在APACHE中如此计划:

ForceType application/x-httpd-php

何以更像静态页面:app_name/my/app.html
解析的PATH_INFO参数的时候,把最后一个参数的末梢5个字符”.html”截断就能够。
小心:APACHE第22中学缺省是不容许PATH_INFO的,须要安装
AcceptPathInfo on

特意是针对性利用设想主机客户,无权安装和配置mod_rewrite的时候,PATH_INFO往往就成了唯一的筛选。

OK,那样之后看到相同于如此的网页你就清楚可能是
article/show.php?id=234以此php程序生成的动态网页,超多站点表面看起来也会有好些个静态目录,其实很有希望都是使用1,2个程序达成的内容宣布。譬喻相当多WIKIWIKI系统都应用了那个机制:整个系统就三个轻易的wiki程序,而看上去的目录其实都以这几个应用拿前面包车型地铁地址作为参数的查询结果。

使用基于MOD_REWRITE/PATH_INFO +
CACHE服务器的解决方案对本来的动态宣布种类开展改变,也得以大大降低旧有系统进级到新的原委管理连串的资本。而且有帮忙了追寻引擎收音和录音入索引。
附:如何在IIS上利用PHP支持PATH_INFO
PHP的ISAPI形式安器械忘:只试成 php-4.2.3-Win32

解包目录

php-4.2.3-Win32.zip c:php

PHP.INI初始化文件

复制:c:phpphp.ini-dist 到 c:winntphp.ini

结构文件涉及

依据install.txt中的表明配置文件涉及

运转库文件

复制 c:phpphp4ts.dll 到 c:winntsystem32php4ts.dll

这么运营后:会意识php把PATH_INFO映射到了物理路线上
Warning: Unknown(C:CheDongDownloadsariadnewwwtest.phppath):
failed to create stream: No such file or directory in Unknown on line 0

Warning: Unknown(): Failed opening
‘C:CheDongDownloadsariadnewwwtest.phppath’ for inclusion
(include_path=’.;c:php4pear’) in Unknown on line 0

安装ariadne的PATCH

停止IIS服务
net stop iisadmin

覆盖原有的c:phpsapiphp4isapi.dll

注:
ariadne是三个遵照PATH_INFO的剧情发表系统,
PHP 4.3.2 RC2中CGI模式的PATH_INFO已经校正,照常安装就能够。

参谋资料:
URL Rewrite文档:
ISAPI REWRITE文档
IIS的ISAPI REWRITE下载(免费)

搜寻引擎友好的U君越L设计

兴许那几个U普拉多L原本就是articel.php?id=485

几个基于PATH_INFO的开源内容处理体系

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图