一,为什么要url重写
对于搜索引擎而言,在主观上对静态页面和动态页面并没有特殊的好恶,只是很多动态页面的参数机制不利于搜索引擎收录,而静态页面更容易收录而已。此外,页 面静态化在一定程度上也提高了页面访问速度和系统性能及稳定性—-这使得在搜索引擎优化上面,为使得效果更加明显,问题简单快速解决,大家对站点的静态化非常的看重。
URL应当是用户友好的;
URL应当是可读的;
URL应当是可预测的;
URL应当是统一的;
URL面向搜索引擎是友好的;
二,URL设计规则:
1.动态网址静态化——面向搜索引擎友好。动态URL中不超过两个动态参数,不包含区段标识符;
2.频道或栏目名称采用英文或全拼形式,推荐采用中文全拼;全拼形式过长采用英文。涉及多个词使用连字符“-”,而不采用下划线“_”;
3.简短(short)的URI,避免不必要的冗长(一个URI的长度最好不要超过80个字节/W3C);
4.一律采用小写字母,不采用大写形式;
5.不采用纸介质打印后难以辨认的字符;
6.简单;
7.能够反映站点结构;
8.管理员可以重新组织服务器上的文件系统结构,而无需改动Url;
9.URI不暴露服务器端使用的脚本语言,平台引擎;
10.使用标准的Session机制,而不是把Session ID放在URI中;
11.删除的URL资源,采用HTTP410重定向;URL变更采用http301重定向;
12.目录结构最好用一级到二级。不要超过三级,实现URL简短,合理使用URL资源;
13.频道、栏目首页命名:栏目的全拼或英文.html;
14.全站内到统一页面的URL形式需要保持统一;
15.全站单个页面url保持唯一,杜绝url拼写和语义上的错误;
三,本blog的url重写
1,Nginx下面的url重写
rewrite /tag/(.*) /blog/index.PHP?tag=$1 last;
rewrite /(.*)/(\d+)\.html /blog/index.PHP?p=$2 last;
rewrite /category/(.*) /blog/index.PHP?category_name=$1 last;
#rewrite /date/([0-9]{4,4})/([0-9]{1,2})?$ /blog/index.PHP?year=$1&monthnum=$2&page=$3 last;
rewrite "/date/([0-9]{4,2})$" /blog/index.PHP?m=$1$2 last;
rewrite /newpage(\d+)$ /blog/index.PHP?page_id=$1 last;
rewrite /Feed$ /blog/index.PHP?Feed=RSS2 last;
rewrite /comment/Feed$ /blog/index.PHP?Feed=comment-RSS2 last;
2,apache下面的url重写
RewriteRule /tag/(.*) /blog/index.PHP?tag=$1 [L]
RewriteRule /(.*)/(\d+).html /blog/index.PHP?p=$2 [L]
RewriteRule /category/(.*) /blog/index.PHP?category_name=$1 [L]
RewriteRule /date/([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/?([0-9]+)?/?$ /blog/index\.PHP\?year=$1&monthnum=$2&day=$3&name=$4&page=$5 $
RewriteRule /date/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /blog/index\.PHP\?year=$1&monthnum=$2&day=$3&page=$4 [L]
RewriteRule /date/([0-9]{4})/([0-9]{1,2})/?$ /blog/index\.PHP\?year=$1&monthnum=$2&page=$3 [L]
blog的前端页面,暂时只发现了这几种url,分页的东西,还没有加,数据没有那么多。哈哈。
四,URL 例子
下面就让我们来看看使用上述最佳做法的URL例子:
普通: http://www.domain.com/Shopping/Categories/Apparel_Clothing/
较好: http://www.domain.com/shopping/clothing.html
最佳:http://www.domain.com/clothing/
糟糕:http://www.domain.com/?cat=3423&pid=45345345&sessID=325646VGHD36523746&ref=56756