Sal*_*n A 5 url mod-rewrite seo url-rewriting
我创建了一个具有分层结构的网站,并且具有搜索引擎友好(SEF)URL,例如:
/seeds-1/
/seeds-1/fruits-2/
/seeds-1/fruits-2/black-berries-5/
/seeds-1/fruits-2/blue-berries-6/
/seeds-1/fruits-2/strawberries-7/
/seeds-1/vegetables-3/
/seeds-1/vegetables-3/potato-8/
/seeds-1/vegetables-3/onion-9/
/seeds-1/vegetables-3/cabbage-10/
/seeds-1/flowers-4/
/seeds-1/flowers-4/red-rose-11/
/seeds-1/flowers-4/tulips-12/
Run Code Online (Sandbox Code Playgroud)
等等.你会注意到最后的数字是ID.现在我已经完成了网站和一切,"顾问"介入并告诉我的客户"...网址不是100%搜索引擎友好,使他们100%搜索引擎友好,数字必须删除.. ".我显然无法与"顾问"交谈,因为他们已经完成了工作并且消失了.
如果有人可以为这两种类型的URL指出PRO和CON,我现在会很感激.我需要一些可靠的论据来说服客户,而且我真的需要知道我是否在为我的网站选择这种URL方案时犯了错误.
编辑----
可能是我很懒.重写规则如下:
RewriteRule ^[^/]+-([0-9]+)/$ object.php?ObjectID=$1
RewriteRule ^[^/]+-([0-9]+)/[^/]+-([0-9]+)/$ object.php?ObjectID=$2
.
.
.
Run Code Online (Sandbox Code Playgroud)
从查询字符串中提取ObjectID相当容易,将其转换为整数并在SQL查询中使用它.我认为在查询中使用文本比较(WHERE Name ='%s')与使用整数比较(WHERE ObjectID =%d)相比较慢,因此我在犹豫.问题更像是值得使URL更加人性化,代价是降低编码/性能.
同意 cherouvim 并将扩展。
这里需要考虑两件事 -
人性化是一点......如果您的用户想要输入蔬菜/洋葱/vidalia 而不是蔬菜/洋葱-10,那么它显然对最终用户更有意义。
此外,搜索引擎还可以获取更多详细信息...因此,搜索 vidalia onion 可能会为您的网站带来更好的排名。
最后,顾问正在推广可读性这个流行词。是的,从长远来看,它可能总体上更好(并且应该像编写一个漂亮的小 .htaccess 文件来修复一样简单),但您的设置实际上没有任何问题。
编辑
老实说,这实际上取决于您的客户想要什么。正如其他用户也指出的那样,呈现链接的方式实际上没有太大的性能差异......
现在真正重要的是您的客户是否希望展示它。他们关心这类信息是否可以被人类读取吗?如果他们只是接受顾问的建议,那么您不妨实施您的重写规则。