URL重写和Facebook链接信息检索

时间:2011-08-12 14:46:48

标签: facebook url-rewriting

我正在开发一个网站,我想将它与Facebook集成,允许用户在他们的FB墙上分享我的网站页面。我的问题在以下几行中解释,我的问题在最后。

我在.htaccess文件中使用以下网址重写规则:

RewriteRule ^([a-zA-Z0-9_-]+)\/?([a-zA-Z0-9_-]+)\/?$ index.php?p1=$1&p2=$2

这意味着它会将http://address/parameter1/parameter2重写为http://address/index.php?p1=parameter1&p2=parameter2

当我在FB上发布http://address/parameter1/parameter2时,它只会显示该网址下的重写网址。

我在FB上发布了http://address/index.php?p1=parameter1&p2=parameter2,它会显示我想要显示的信息,以及我在元标记中添加的信息。

我尝试在FB调试器(http://developers.facebook.com/tools/debug)上调试http://address/parameter1/parameter2,我将收到错误消息: “无法访问...的页面,因为服务器返回了状态代码400。”

有什么办法可以纠正吗?也就是说,实际上使动态链接的行为类似于静态链接,并使任何链接它的人都透明了吗?


编辑:

重写规则中的这一更改应解决问题: RewriteRule ^([a-z0-9 _-] +)/?([a-z0-9 _-] +)/?$ index.php?p1 $ 1& p2 = $ 2 [L,NC]

我还改变了PHP中的重定向。

这解决了我的问题。

1 个答案:

答案 0 :(得分:0)

我有类似的问题,除了我动态地管理网址重写。 我目前是一个不允许通过htaccess(free.fr)重写URL的网络主机

动态标准网址处理得当。但不是重写的网址。

考虑到标题状态代码,您将如何摆脱这种情况?

我能做的是做一个重定向而不是包含生成html输出代码的脚本。 由于url中添加了一个特殊的参数,只需告诉处理程序在include和redirect之间切换。 但这不是一个很好的解决方案。