【问题标题】:SEO friendly url in PHP htaccessPHP htaccess 中的 SEO 友好 url
【发布时间】:2012-08-21 13:01:06
【问题描述】:

我使用 Godaddy Apache 服务器构建自己的博客,并搜索了一些 SEO 友好的 url 教程,并在我的 web 根 .htaccess 文件中应用了以下代码,将http://www.bgmemo.com/blog.php?url=2012/08/23/4-steps-to-initialize-Apache-Derby-10-9-1-0-in-Netbeans-7-1-1.html 之类的链接传输到http://www.bgmemo.com/blog/2012/08/23/4-steps-to-initialize-Apache-Derby-10-9-1-0-in-Netbeans-7-1-1.html :

RewriteEngine on
RewriteRule ^([a-zA-Z0-9-/]+).html$ blog.php?url=$1
RewriteRule ^([a-zA-Z0-9-/]+).html/$ blog.php?url=$1

但它不起作用。 htaccess 正在工作,并且其中的其他代码已应用。谁能告诉我什么是错的?提前致谢。

【问题讨论】:

  • 与重写网址相比,您可以通过内容获得更好的 SEO 效果。
  • 只是因为有些人没有意识到......再多的重写规则都不会改变您网页中的链接。您必须更新所有现有链接。重写规则只是告诉 Apache 你创建的新的“漂亮”URL,并且有人点击,应该由 blog.php 处理。

标签: php url seo friend


【解决方案1】:

这是您的 .htaccess 没有问题的正确方法

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /
  RewriteRule ^blog/([a-zA-Z0-9\-/\.]+)/?$ blog.php?url=$1 [L]
</IfModule>

【讨论】:

    【解决方案2】:

    试试这个:

    RewriteEngine on
    RewriteBase /
    RewriteRule ^blog/([a-zA-Z0-9\-/\.]+)/?$ blog.php?url=$1 [L]
    

    【讨论】:

    • 我现在看到你想在重写中使用博客...编辑了上面的内容。
    • 嗯,由于 html 后缀之前的.,正则表达式不会匹配blog/something.html 之类的东西吗?我们不能通过使尾部斜杠可选来折叠成一条规则吗?也许像RewriteRule ^blog/([a-zA-Z0-9\-/\.]+)/?$ blog.php?url=$1 [L]
    • 好建议。使用可选的斜杠更新了上述内容和我自己的 .htaccess。谢谢。
    • 谢谢ow3n,我昨天试过了,还是不行。你认为还有什么问题?
    • 看起来有一些 PHP 错误并且 CSS 文件没有链接:bgmemo.com/blog/2012/08/21/8-ways-to-speed-up-my-PHP-blog - 尝试绝对引用 CSS 并在您的 PHP 中查找错误:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/content/32/9291432/html/blog.php on line 141 Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/content/32/9291432/html/blog.php on line 147
    猜你喜欢
    • 2011-05-09
    • 2011-05-29
    • 2013-01-22
    • 2013-02-03
    • 2015-01-13
    • 2015-10-13
    • 2016-03-12
    • 2015-04-17
    • 1970-01-01
    相关资源
    最近更新 更多