在使用PHP时,我的网页示例在mod重写之前会是什么样子?

时间:2010-08-08 00:11:27

标签: php html page-layout

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

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

但是,如何才能在其他页面上显示与该标记相关的帖子,例如www.example.com/tags/clicked-tag/

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分: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提供所有请求(使用路径信息确定要显示的内容)。

答案 2 :(得分: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 - 感谢您的澄清。

如何... mmmm ......第一页上的所有链接都会导致用户永远不会看到的中间页面... 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>");

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

那会这样做,不是吗?