用户手册(seo + auto generate)

时间:2012-02-05 16:31:53

标签: php mysql apache .htaccess mod-rewrite

我有一个网站,允许人们在线获取手册。我有一个新版本的手册,其中一切都是使用php和mysql动态生成的。所以不再生成html。

我现在有法语和英语的手册。我知道,对于搜索引擎来说,如果我有与gogole和yahoo等友好的网址,那将会很好......

现在这是我的问题:

我想像这样显示网址:

  • / manual /将转到用户选择lang的主要手册页
  • / manual / fr /这将显示所有可用章节的列表
  • /manual/fr/1.0这将显示第1章

我知道我需要使用的东西:

rewriterule /manual/(.*)/(.*)/(.*)/ index.php?lang=$1& ...

我可以使用1条规则吗?或者我需要倍数?

非常感谢

1 个答案:

答案 0 :(得分:11)

以下是您必须做的事情:

RewriteEngine On
RewriteRule ^manual/?$ index.php?action=selectLang [L,NC,QSA]
RewriteRule ^manual/(fr|en)/?$ index.php?action=listChapter&lang=$1 [L,NC,QSA]
RewriteRule ^manual/(fr|en)/([0-9\.]+)(/[^/]+)?/?$ index.php?action=listChapter&lang=$1&chapter=$2 [L,NC,QSA]

第一个将加载用户选择lang的页面。在PHP中,您可以查看$_GET['action'],以便加载“选择lang”页面。与第一个相同的想法,但对于章节列表。现在是第三个,您可以使用/manual/fr/1.0/manual/fr/1.0/chapter-title。如果添加标题,这将更适合SEO。

每个[]末尾的

RewriteRule是标志,请点击此处了解详情:http://httpd.apache.org/docs/2.3/rewrite/flags.html