0

例如,我想在一个网页上显示我的所有标签,www.example.com/tags/然后当有人点击其中一个标签时,我想在另一个网页上显示与该标签相关的所有帖子,www.example.com/tags/clicked-tag/ 我该怎么做这是因为为每个标签创建一个网页真的不是一个好主意吗?

我将为标签文件夹创建一个 index.php 页面www.example.com/tags/

但是,例如,我如何能够在另一个页面上显示与该标签相关的帖子www.example.com/tags/clicked-tag/

4

3 回答 3

1

用于以“nice”形式生成 get 变量的 Mod_rewrite

你必须添加名为“tag”或其他东西的mysql字段

于 2010-08-08T00:13:56.107 回答
1

一种可能性是使用重写规则。在标签文件夹中创建一个名为“details.php”的 PHP 文件。

然后,在 httpd.conf 中:

RewriteRule /tags/([^/]+)/?$ /tags/details.php?tag=$1 [B,L]

或者,如果必须,在 /tags 内的 .htaccess 文件中:

RewriteCond $1 !=details.php
RewriteRule ([^/]+)/?$ details.php?tag=$1 [B]

另一种可能性是激活该选项MultiViews并为/tags/* 来自根目录中的文件的所有请求提供服务tags.php(使用路径信息来确定要显示的内容)。

于 2010-08-08T00:16:03.603 回答
1

我在这里错过了什么吗?您似乎想<my_tag>在页面上显示给定标签的所有帖子www.example.com/tags/clicked-tag.php

那么,您的标签不能链接到每个标签的不同之www.example.com/tags/clicked-tag?tag=<tag_name><tag_name>,显然,然后www.example.com/tags/clicked-tag.php简单地查看一个变量$_GET["tag"]吗?

这似乎是在 PHP 中做到这一点的方式,但由于其他人正在给出重写答案,我担心我可能误解了这个问题。如果是这样,也许你可以澄清一下?


i want all the tags to have their own unique file name like www.example.com/tags/tag1 www.example.com/tags/tag2 www.example.com/tags/tag3 and so on- 感谢您的澄清。

怎么样......嗯......第一页上的所有链接都指向一个用户永远不会看到的中间页面......www.example.com/tags/clicked-tag.php例如,它会做类似的事情

   if file www.example.com/tags/<tag> not exists then crete it  
   header("Location: www.example.com/tags/<tag>");

并且每个页面都包含一个公共文件,该文件具有一个函数,该函数作为参数并构建输出页面......

这样就可以了,不是吗?

于 2010-08-08T00:30:22.233 回答