【问题标题】:using htaccess for good SEO links使用 htaccess 获得良好的 SEO 链接
【发布时间】:2012-09-27 14:30:58
【问题描述】:

我正在建立一个 Web 论坛,其链接如下所示:

http://127.0.0.1/website/comments.php?topic_id=2/create+good+seo+links

生成链接的链接如下所示

<a href="comments.php?topic_id=<?php echo (int)($forum_topic['topic_id']); >/<?php echo urlencode(htmlspecialchars($forum_topic['topic_head'])); > ">

问题:如何使链接看起来像

http://127.0.0.1/website/comments/topic/create-good-seo-links/2

我尝试在 .htaccess 文件中应用此代码:

   RewiteEngine on
   RewriteBase /website
   RewriteRule ^comments/([a-zA-Z0-9_-)/([0-9]+)\.php$ comments.php?id=$1

【问题讨论】:

    标签: php .htaccess mod-rewrite seo


    【解决方案1】:

    您的 RewriteRule [a-zA-Z0-9_\-]+ 中缺少右括号和限制器

    您还需要将 id 指针更改为 $2,因为它匹配第二个正则表达式规则。

    【讨论】:

    • 如果我将 id 更改为 2,它是否适用于所有整数?因为它是一个论坛,所以会创建许多主题。
    • 您没有将 id 更改为 2,而是将 id 更改为 $2,这将匹配 ([0-9]+) 规则。
    【解决方案2】:

    你需要类似这样的 htaccess 规则:

    RewiteEngine on
    RewriteRule ^website/comments/([a-zA-Z0-9_-])/([a-zA-Z0-9_-])/([0-9]+)$ comments.php?topic_id=$3
    

    这会将友好的 URL 重定向到正常的脚本文件,$3 是重写规则第一部分中的第三组括号(即数字)。

    那么你需要把输出改成这样:

    <a href="comments.php?topic_id=<?php echo $forum_topic['name']; ?>/<?php echo urlencode(htmlspecialchars($forum_topic['topic_head'])); ?>/<?php echo (int)$forum_topic['topic_id'] ?>">
    

    请注意,我不确定 $forum_topic['name'],因此您需要检查代码中调用的变量。

    【讨论】:

      【解决方案3】:
      RewiteEngine on
      RewriteRule ^subdir/comments/([a-zA-Z0-9_-])/([a-zA-Z0-9_-])/([0-9]+)$ comments.php?topic_id=$3
      

      如果您想做好 SEO,请在 URL 中使用一些需求关键字 例子 如果您有下载门户

      www.domain.com/games/mobile-os/game-name/id/page.html
      

      它将帮助您在谷歌中获得良好的排名

      【讨论】:

      • 感谢您的回答。如何确保关键字是 URL 的一部分?这是一个论坛,用户可以创建具有他们想要的标题的主题。有没有办法解决这个问题?
      • www.domain.com/forum-name/topic-name/by-user/page1.html 类似这样的东西使用 - 而不是 _
      猜你喜欢
      • 2014-05-17
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 2014-01-28
      • 2014-01-06
      • 1970-01-01
      • 2021-07-23
      • 1970-01-01
      相关资源
      最近更新 更多