【发布时间】:2025-12-19 03:00:11
【问题描述】:
情况:
我有几百个帖子,每个帖子都属于一个特定的类别。
A] 现在当用户访问主页时,内容与按日期排序的类别无关。
他可以浏览不同的页面,例如:
类型 1:http://www.example.com/3 对应于 http://www.example.com/index.php?page=3
我大概可以在 mod_rewrite 中做到这一点
B] 然后用户可以决定按以下类别查看:
类型 2:http://www.example.com/Football 将对应于
http://www.example.com/index.php?page=1&category=Football
然后他可以浏览以下页面:
类型 3:http://www.example.com/Football/5 其中 => http://www.example.com/index.php?page=5&category=Football
C] 我有一个名为 View 的目录,其中包含 index.php。它只显示单个帖子,例如:
类型 4:http://www.example.com/View/1312 => http://www.example.com/View/index.php?id=1312
这是我做的 mod_rewrite:
重写引擎开启 RewriteRule ^View/([^/.]+)/?$ View/index.php?id=$1 [L]
现在是我遇到的问题
在 C 点]:http://www.example.com/View/1312 工作正常,但 http://www.example.com/1312/ (注意尾部斜杠)分开并给出奇怪的结果。 Q1)那么我如何在这里保持一致性?
Q2) 理想情况下,如果没有 ID 为 1514 的帖子,我希望 http://www.example.com/View/1514 显示 404 错误,但现在我必须在 PHP 代码中手动处理。
处理此类动态网址的正确方法是什么?特别是如果网址错误。
Q3) 我如何确保http://www.example.com 和http://www.example.com/ 都重定向到http://www.example.com/index.php?page=1; (mod_rewrite 代码会有所帮助)
请注意,只有两个 index.php 文件。根目录中的一个,除了显示由 View 目录中的 index.php 处理的单个帖子外,它可以做所有事情。这是一种合乎逻辑的网站开发方式吗?
【问题讨论】:
-
例如:*.com/questions/3897676/… 这是页面的当前 url,但是如果我更改编号。在说 3897777 的 url 中,是 apache 将没有它的 404 页面,或者服务器端代码将查看数据库并重定向到 404...这是如何工作的?
标签: php apache url mod-rewrite apache2