2

我建立了一个 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
4

3 回答 3

2

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

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

于 2012-09-27T14:32:51.243 回答
0

您将需要类似这样的 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']所以你需要检查你的代码中调用了什么变量。

于 2012-09-27T14:38:07.020 回答
0
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

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

于 2012-09-27T14:42:19.430 回答