2011-05-14 200 views
2

我喜欢的方式,以便让链接质疑 喜欢这个问题有联系http://stackoverflow.com/questions/6002203/seo-friendly-url 其中的问题的标题是seo-friendly-urlSEO友好的URL

我创建一个博客,我想给在同一链接这样做,如何在PHP中做到这一点?
任何建议都是欢迎的。

表结构

  • ID
  • 标题
  • 标签
  • 类别
  • UID

Added
我使用PHP/APACHE,没有框架!我不想使用任何博客,想要创建自己的

+0

请不要把** CLOSE VOTE **为乐趣,请写下原因! – Sourav 2011-05-14 13:46:06

+2

'mod_rewrite'是你的朋友(假设你使用apache作为网络服务器) – zerkms 2011-05-14 13:47:45

+2

这个密切的投票建议迁移到webmasters.se,因为它是一个编码的东西,而不是一般的SEO问题。 – ThiefMaster 2011-05-14 13:47:55

回答

5

我不确定人们为什么这么刻意地呆在这里......

你在找什么是mod_rewrite,一个用于URL重写的apache模块。

在你的.htaccess文件(你可能需要让它)提出:

<IfModule mod_rewrite.c> 
RewriteEngine on 

RewriteRule ^blog\/([0-9]+)\/.*$ /blog.php?post=$1 [L] 
</IfModule> 

这意味着当你去/blog/10/any-old-bit-of-text/幕后是相同的,如果你访问/blog.php?post=10

([0-9] +)位称为正则表达式(或正则表达式),并匹配任意数字。 .*表示匹配任何东西。将^锚定到查询的开头,将$锚定到结尾。斜杠(/)被转义为\/

+2

我会尝试和+1您的帮助:) – Sourav 2011-05-15 18:09:16

+0

你重写规则可与blog.php的?交= 15但是当我查看blog.php它重定向到根!如何阻止?去blog.php的 – Sourav 2011-05-17 19:14:58

+0

不应该受此影响。你确定你没有其他重写吗?你可以添加重写规则^博客\/$ /blog.php [L]如果你想博客/去blog.php的为好。 – 2011-05-17 21:01:11

0

首先,你没有写你使用什么框架。我描述你想在Symfony框架

http://www.symfony-project.org/jobeet/1_4/Doctrine/en/05#chapter_05_route_customizations

  1. 更改路线做

    首先解决路由引擎理解“尼斯网址”

  2. 更改控制器的作用,这是负责什么用你的文章搜索正确的记录

您可以增强通过声明的解决方案sluging功能,直接在路线

二的解决方案使用它

使用已支持任何博客解决方案 - 如写ceejayoz

0

您可以使用PHP和Apache在一起。特别是Apache Forcetype。 This article explains how to use Forcetype

比方说,你有这样的URL:http://www.example.com/article/seo-friendly-example

的.htacess文件应该是这样的:

<Files article> 
    ForceType application/x-httpd-php 
</Files> 

的PHP将是这个样子:

<?php 
    list(,$slug) = explode("/", $_SERVER['REQUEST_URI']); 
?> 

$slug的值将是seo-friendly-example。这将是您的数据库中该文章的关键。

+0

您的网址不加载:( – Sourav 2011-05-14 18:08:36

+0

我只是尝试它,它为我工作。一定是一个暂时性的问题。 – 2011-05-14 18:47:05