【问题标题】:Wordpress individual comment URLs for URI integration across the web用于跨网络 URI 集成的 Wordpress 个人评论 URL
【发布时间】:2011-12-26 13:27:00
【问题描述】:

祝所有开发者圣诞和新年快乐

我一直在开发评论系统(对 wordpress 进行逆向工程)。就我而言,我希望每条评论都对社交网络难以处理。这意味着他们需要自己的 URL。我建立了一个页面 (comment.php) 并将评论的 ID 存储为 get 参数。

问题在于社交网络删除了 get 参数,以便他们可以在其中存储自己的数据。

然后我将它构建到 URL 中,使用页码系统作为评论 id,然后 str_replace 以获取我们想要的评论的 id。 (即example.com/comment/135)。这有效,但社交网络删除了页码部分。如果数字后面有一个字母,他们不会删除它们。

因此,我正在寻找一种拥有个人评论页面的方法。我已经制作了一个主题文件并可以使用,但我只需要一个可以使用的标准评论 URL。 example.com/comment/135-comment/ 之类的东西有自己的页面,然后可以从 URI 中提取 ID。如何做到这一点。

【问题讨论】:

  • 你可以使用modrewrite,我的意思是只需将example.com/comment/135-comment重写为/comment?id=135-comment,然后使用explode从GET变量中获取135。
  • 社交媒体网站是否也会删除标签?
  • @Ryan 有些会,有些不会,但问题是他们不会在他们复制页面元信息的锚点处复制数据,所以无论如何它们完全没有价值。在任何情况下使用面向页面的字符串替换函数都可以解决问题,如下例所示,除了我们将其设为合法的核心脚本

标签: php wordpress uri


【解决方案1】:

您可以使用 htaccess 规则将 example.com/comment/135-comment 重写为 example.com/comment/?id=135

但这只有在您拥有相应权限时才有效。 url example.com/comment/中的评论模板

RewriteEngine On
RewriteBase /

RewriteRule ^comment/([0-9]+)-comment/$ http://example.com/comment/?id=$1 [L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

一种通用的方法是使用 example.com/123-post/135-comment/ 之类的东西,同时带有帖子 ID 和评论 ID。

RewriteEngine On
RewriteBase /

RewriteRule ^([0-9]+)-post/([0-9]+)-comment/$ http://example.com/?p=$1#comment-$2 [L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

应该适用于大多数主题。

【讨论】:

  • @tamilsweet.. 不幸的是,这并没有解决它,因为它会导致 Facebook 也接收重写 URI,然后它会像以前一样过滤掉它。相反,我们需要为这些 cmets 中的每一个提供一个有效的页面
猜你喜欢
  • 2012-11-30
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 2013-12-18
  • 2013-12-31
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
相关资源
最近更新 更多