path_info路径建议

#1 hanwj

http://www.xxx.cn/index.php/news/view/id/1
这种模式路径太深了,SEO中影响权重  tinkphp这方面就改进了

http://www.tele365.cn/index.php/index,index

下面的是默认模式下 百度用tinkphp开发的gxcms,这种路径更简洁直观 容易收录 再做个网站地图 收录效果和静态的差不多

http://www.hyw001.com/index.php?s=video/lists/id/8/area/%E4%B8%AD%E5%9B%BD
http://www.hyw001.com/index.php?s=user/reg

2011-05-12 07:04:17

#2 jake

谢谢楼上的建议。

一般而言,如果服务器能支持path_info,那么首先它需要支持UrlRewrite,UrlRewrite的变化可以有很多。
所以path_info研究价值并不是很高,像有一些框架,会把支持path_info也纳入了UrlRewrite的范畴,也就是使用规则,用UrlRewrite模拟出path_info的效果。

2011-05-12 07:28:05

#3 hanwj

回复 2 jake

大部分的PHP环境都是在IIS,但是UrlRewrite的功能支持有限

ISAPI_Rewrite的免费版本毫无价值


http://speedphp.com/interaction-iis.html

这个教程上用的就是免费版本,只能设置一个站,而且其他站无法正常访问

收费版本的兼容.htaccess文件

2011-05-12 09:04:44

#4 jake

免费版的ISAPI_Rewrite可以支持多个虚拟站点,都是正常的,并不存在“没有价值”的说法,只是配置上要一个个站点设置。

“大部分的PHP环境都是在IIS” :L 这是是怎么说的呢?PHP在IIS上本身支持就不太好。

国内普通一点的空间都是LAMP结构了。

另外,上面我的意思很明确,如果服务器不支持UrlRewrite,那么也不支持path_info。而支持urlrewrite的时候,那path_info也没什么用了。所以path_info是一个非常鸡肋的功能。

2011-05-12 12:32:43

#5 hanwj

回复 4 jake


   请注意,如果你在根目录增加了文件夹或者文件,均需要在httpd.ini文件中增加对应的规则,否则访问该文件夹和文件都会转向到index.php文件。比如说以下是增加了一个叫img的文件夹和一个sitemap_baidu.xml的文件

RewriteRule /sitemap_baidu.xml /sitemap_baidu.xml [L]

RewriteRule /img/(.*) /img/$1 [L]


:L免费版的所有虚拟主机的站点都共用这一个httpd.ini文件,无论哪个站点根目录下增加一个文件都要得去改http.ini文件,我在VPS上曾试了一下,为了一个为静态需要增加200多行的规则。上面。.net

asp的都有,如果只用PHP的话完全可以用Apache.


服务器不支持UrlRewrite,不一定不支持path_info,一般XP的iis5.1不支持,2003的iis6.0默认都支持


说这么多都是在实际运用中遇到的问题

2011-05-12 17:56:55

#6 jake

呵呵,用PHP不用LAMP,这是很不适当而且很少见的,我们没必要去讨论这个问题。有不清楚的童鞋,随便找家空间提供商问一下就明白了。

不过对于path_info来说,楼上推荐的那种方式,真的能有助于SEO?Google的文档里面对于动态地址(带?&的),建议是越短越好(字符数),而不管是多少级层。

这种考量本身就很小众,可能楼主有遇到过这种问题,但是实际上开发中绝大部分情况都没有这种需求。

2011-05-12 18:50:47