PHP中的多个动态SEO /缩短的URL

时间:2011-06-24 15:49:04

标签: php url mod-rewrite seo

我有一个包含用户生成页面的PHP系统,以复杂和非统一的层次结构排列。页面由用户创建,有些页面有子页面等。

我被要求添加一个缩短的url系统。因此,层次结构中的任何页面都可以通过 domain.com/XXXX 访问,其中XXXX可以是任何内容 - 我们对SEO不感兴趣,这背后的原因是它非常社交 - 媒体驱动的项目,我们希望我们的用户能够发送他们喜欢的任何页面的推文/其他网址。

我期待类似的东西;我们从AAAA开始,在创建每个页面时前往ZZZZ。这些slu will中的每一个都会与实际网址一起存储在数据库中,例如 domain.com/projects.php?p=32

我知道mod-rewrite足以将 domain.com/XXXX 转换为 domain.com/index.php?slug=XXXX ,但是从哪里开始离开我有点难过。 index.php可以对数据库查找和header()用户进行实际的url,但是slug-url需要保留在地址栏中。

在index.php中使用iframe会是一个糟糕的想法吗?

我希望这清楚,谢谢阅读!

2 个答案:

答案 0 :(得分:0)

如果您在.htaccess重写规则的末尾使用了[R=301]指令,它将充当重定向。这意味着如果您转到 domain.com/XXXX ,它将在地址栏中显示 domain.com/index.php?slug=XXXX 。这是你想要完成的行为吗?

另外,我不会使用header(),我会将您的索引页面作为处理页面。或者,或者使用include()方法。

答案 1 :(得分:0)

我认为使用iframe是一个糟糕的主意,并且会导致一个脆弱的网站。

为什么index.php无法作为前端控制器,有什么理由,所以不是重定向它只是显示页面?你应该能够include页面。


或者,您是否可以将domain.com/XXXX重写为domain.com/projects.php?slug=XXXX,并在projects.php的顶部执行slug-> p转换?然后转换只需要记录slugs和page id,而不是slug和完整的URL。