【问题标题】:how to make seo friendly urls [duplicate]如何使seo友好的网址[重复]
【发布时间】:2014-01-21 14:53:01
【问题描述】:

大家好,我是 'php' 的新手,我只是想知道如何使这个 url 对 seo 友好。

我将两个值发送到 post.php 页面

<a href='post.php?id=$pid&title=$title'>Read More....</a>

当我点击阅读更多时......

post.php 的 url 必须像这样post/$title(title of that post)

当前网址看起来like http://fotoshoots.be/blog/post.php?id=14&title=test

但我想要像like http://fotoshoots.be/blog/post/test这样的网址

请帮帮我

【问题讨论】:

标签: php .htaccess seo preg-replace


【解决方案1】:

嗯, 你需要两件事: 您需要一个“路由器”:接收所有请求并将其解析回 $_GET 的 PHP 脚本 https://github.com/dannyvankooten/AltoRouter是个好人

第二件事是以所需格式打印所有 URL,例如:/blog/page-title-here

【讨论】:

    【解决方案2】:

    只需使用 mod_rewrite。在目录博客中创建一个 .htaccess 文件,内容如下:

    RewriteEngine on
    RewriteRule ^post/([a-zA-Z0-9_-]*)$ post.php?title=$1 [QSA]
    

    我不知道你对正则表达式了解多少,但是每个看起来像“post/your-title-here”的请求都将被 post.php?title=your-title-here 替换。请注意,这种“内部重定向”找不到 id 参数,post.php 必须通过 $title 找到它。目前该文件在请求中只允许拉丁字符、数字、“_”和“-”,您可以通过根据正则表达式规则更改两个方括号的内容来更改它。希望能帮到你。

    【讨论】:

    • 感谢您的快速响应,我试过了,但它不起作用,它给了我相同的输出
    • 因为我认为您没有更改文件内容,请检查文件名:它必须具有名称“.htaccess”并位于目录“/blog”中。我还发现标题参数与请求无关,因此您可以按标题对文章进行排序并删除 id,或使用以下代码将 /post/22 重写为 /post.php?id=22:RewriteEngine on RewriteRule ^post/([0-9]*)$ post.php?id=$1 [QSA]
    猜你喜欢
    • 2016-03-11
    • 2011-07-23
    • 2011-04-06
    • 2014-01-14
    • 2017-05-14
    • 2014-07-26
    • 2011-02-15
    • 2020-05-09
    • 2010-10-24
    相关资源
    最近更新 更多