我应该将mod_rewrite用于我网站的网址吗?

时间:2009-09-20 22:15:24

标签: php regex mod-rewrite clean-urls

我的网站目前正在处理此类网址......

/?p=home  
/?p=profile&userid=1  
/?p=users.online  
/?p=users.online&page=23  
/?p=mail.inbox  
/?p=mail.inbox&page=12  

...等等,可能至少有120-150个不同的页面,在我的网站上,这样的页面是这样构建的,

index.php 包含一个主配置文件,其中包含功能/类文件 index.php 然后包含标头文件
index.php 然后包含来自网址的页面文件?p = pagename
index.php 然后包含页脚文件

这就是我网站上每个页面的编译方式,通过像这样的索引页面,我一直在考虑/考虑清理URL,因为我正在重新编写/重构我的大部分网站代码,这是如果我要这样做,那就是完美的时间。清理URL的意思是使用mod-rewrite,所以上面的URL结构看起来像这样......

/home
/users/1  //user ID might switch to use username as well
/users/online
/users/online/23 or /users/online/page/23
/mail/inbox
/mail/inbox/12

首先,这样做有什么不足之处,它是否因为使用mod_rewrite而创建了更多的处理工作?

同样难以编写正则表达式或者以上面显示的格式匹配文件名所需的内容,我只列出了一些页面但是至少有100个不同的URL页面我有博客,公告,论坛,各种东西

1 个答案:

答案 0 :(得分:8)

绝对。这是Apache的主要目的之一,因此它的设计非常有效。事实上,我会劝你使用那种方法。

  1. 为访问者提供更清晰的网址
  2. 这对SEO来说太棒了
  3. 使网站更专业
  4. 如果用户在尝试查找某个网页时没有实际遍历您的网站,则可以更轻松地猜测网址。
  5. 没有垮台,使用该网址结构有很多好处。去吧!