1

我目前使用这个 mod-rewrite

RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ post.php?id=$1 [L]
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ post.php?id=$1 [L]

这允许我在 url 之后添加帖子标题$_GET['id]

http://foo.com/246/clouds

域/获取/标题

如何从 url 获取/获取/返回标题部分以便能够在<title></title>标签中使用它?

我知道如何获得$_GET['id']

$pid = (isset($_GET['id']) ? 'foo : Page - ' . $_GET['id'] : '');

返回

foo : Page - 246

作为页面标题,但真的很想拥有

foo : clouds
4

3 回答 3

1

更改重定向规则:

RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ post.php?id=$1&title=$2 [L]
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ post.php?id=$1&title=$2 [L]

然后您只需使用$_GET['title']来检索标题。

希望有帮助!

于 2012-11-10T22:29:07.733 回答
1

您实际上不需要在重写中传递任何内容,例如添加title=$2您可以访问$_SERVER['REQUEST_URI']的内容,/246/clouds然后您可以将其分解,/然后访问第二个键值。

$url_parts = explode('/',$_SERVER['REQUEST_URI']);
print_r($url_parts);
于 2012-11-10T22:31:24.353 回答
0

将您的 RewriteRule 更新为 2. 参数

RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)$ post.php?id=$1&title=$2 [L]
RewriteRule ^([0-9]+)/([a-zA-Z0-9_-]+)/$ post.php?id=$1&title=$2 [L]

print_r($_GET["title"]);
于 2012-11-10T22:28:47.820 回答