在$ _GET之后获取mod-rewrite title

时间:2012-11-10 22:22:28

标签: php mod-rewrite get

我目前正在使用此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]

允许我在$_GET['id]

之后添加网址中的帖子标题
http://foo.com/246/clouds

domain / get / title

如何从网址获取/获取/返回标题部分,以便能够在<title></title>标记内使用它?

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

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

返回

foo : Page - 246

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

foo : clouds

3 个答案:

答案 0 :(得分: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']来检索标题。

希望有所帮助!

答案 1 :(得分:1)

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

$url_parts = explode('/',$_SERVER['REQUEST_URI']);
print_r($url_parts);

答案 2 :(得分: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"]);