【问题标题】:Seo URL - htacces rewrite rulesSeo URL - htaccess 重写规则
【发布时间】:2013-11-22 14:34:22
【问题描述】:

我需要重写一些网址:

在 php 中,它们被设计为:www.example.com/product.php?id=1

有人帮我把它们改写成:www.example.com/product/1/casual-shoe/

现在我发现不推荐用于 SEO。

我需要将链接转换为:

www.example.com/casual-shoe/ShoeNickname`

我不知道从哪里开始。

我将在 mysql 中为 ShoeNickname 创建一个与每个 id 等效的新列。

有谁能告诉我.htacces文件怎么写?

【问题讨论】:

  • 您在哪里看到“不推荐用于 SEO”?
  • 不利于链接结构——最好不要有这么多文件夹。

标签: php .htaccess mod-rewrite


【解决方案1】:

我假设在这个例子中 `casual-shoe' 是类别并且您销售许多休闲鞋。

解决此问题的最简单方法是在 URL 中保留 id,同时忽略其他信息,例如 www.example.com/casual-shoe/23-converse-all-stars

.htaccess 类似于

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[\w-]+/(\d+)-.*$ /product.php?id=$1 [QSA,L]

2 RewriteCond 行告诉仅在请求的 url 与真实文件不匹配时才重写。接下来,您使用(类别)目录重写任何内容,后跟以 1 个或多个小数开头的文件名,然后是破折号和更多文本。

小数点是产品 ID,URL 的其余部分被忽略。

【讨论】:

  • 谢谢你的回答,我马上试试。你能告诉我一个可以学习编写 htacces 的虚拟资源吗?
  • 正在工作,但我的老板肯定会想从那里隐藏那个号码......你能带我去一个我可以阅读并解决这个问题的地方吗?
  • 这需要在数据库中添加一个引用字段,在保存和查找引用时确保引用是唯一的。确切的代码超出了 Stackoverflow 上的简单答案。我会尝试说服你的老板使用上述解决方案。有数字不会对 SEO 产生任何负面影响。
猜你喜欢
  • 2015-03-25
  • 1970-01-01
  • 2011-12-06
  • 2016-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多