我有一个网站,允许人们在线获取手册.我有一个新版本的手册,其中一切都是使用PHP和
mysql动态生成的.所以不再生成html.
我现在有法语和英语的手册.我知道,对于搜索引擎的目的,如果我有与gogole和雅虎等友好的网址将会很好…
现在这是我的问题:
我想显示这样的网址:
> / manual /将转到用户选择lang的主手册页
> / manual / fr /这将显示所有可用章节的列表
> /manual/fr/1.0这将显示第1章
我知道我需要使用的东西:
rewriterule /manual/(.*)/(.*)/(.*)/ index.PHP?lang=$1& ...
我可以使用1条规则吗?或者我需要倍数?
非常感谢
这是你要做的:
RewriteEngine On RewriteRule ^manual/?$index.PHP?action=selectLang [L,NC,QSA] RewriteRule ^manual/(fr|en)/?$index.PHP?action=listChapter&lang=$1 [L,QSA] RewriteRule ^manual/(fr|en)/([0-9\.]+)(/[^/]+)?/?$index.PHP?action=listChapter&lang=$1&chapter=$2 [L,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