我有一个生成许多动态公司简介的站点。 这些都通过一个 jsp 页面显示,并带有一个标识公司的参数。
我不是 SEO 实践方面的专家,但我确信用户友好的 url 对于搜索引擎来说比晦涩的参数更好。
所以而不是
site.com/company.jsp?id=21312
应该是这样的
site.com/Country/State/Company_Name
或类似的东西。
是否有生成这些 url 的任何现有策略或最佳实践? 我的环境是一个 jsp/servlet tomcat 容器,我使用的是前 View Controller 模式(如果有任何不同的话)。
这是我关于如何解决它的两个想法。
1) 保存公司资料后(后端)生成一个 html 页面,并重定向到参数化的 jsp。此页面将保存在与我上面给出的示例相匹配的目录结构中。/CountryName/StateName/CompanyName.html
我不知道搜索引擎是否会忽略它,因为它会重定向到另一个页面。我还预测,当公司名称更改或位置更改时,内务管理可能会成为一个问题。所以我不知道这是否是最好的选择。
2) 以某种方式有一个servlet 解释url 并相应地重定向。
换句话说,有一个名为 Map 的 servlet(例如)和一个 url,如:site.com/Map/Country/State/CompanyName
将被 Map servlet 拾取并分解 url 以找到有问题的页面。
我不知道 servlet 是否可以做到这一点。 (编辑:可以用 Map/* 来完成)
如果我遗漏了任何其他选项,请告诉我,或者我是否可以改进我现有的想法之一。
非常感谢。
最佳答案
UrlRewriteFilter 来了!
按照您的要求执行的配置如下所示:
<rule>
<name>World Rule</name>
<from>^/world/([a-z]+)/([a-z]+)$</from>
<to>/world.jsp?country=$1&city=$2</to>
</rule>
http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html
关于java - 使用动态 jsp 和 servlet 构建 URL 有哪些策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25094113/