【发布时间】:2016-01-20 04:18:25
【问题描述】:
我正在尝试制作自己的 CMS,此时我希望清理我的网址,但我无法删除第一个 GET 参数而只留下第二个。
我做的独特的事情是用另一个.htaccess 条件删除扩展文件名,但我无法解决这个问题。
一个例子:
www.mysite.com/posts?id=2&title=The%20PostTitle
收件人:
www.mysite.com/posts/The%20PostTitle
有人可以帮我吗?
【问题讨论】:
-
构建自己的 CMS 需要大量的工作。如果真的有必要,你应该使用像 Symfony (PHP) 这样的框架作为基础。对于您的问题:您需要了解的有关 apache 重定向的所有信息都可以在这里找到 httpd.apache.org/docs/current/mod/mod_rewrite.html
-
我真的不明白您为什么需要对 URL 进行这种转换。通常,您使用存储在数据库中的信息来创建像
http://example.net/posts/the-post-title这样的“谈话” URL,然后将所有这些 URL 重定向到 index.php,然后它会尝试进行反向查找以获取对应的ID给定的title -
我不知道。我相信“帖子”页面只为客户端带来模板,然后为了获取 url 变量,我会使用“$_SERVER['REQUEST_URI']”。还是我完全迷路了?
-
如果您使用 RewriteEngine 去除 ID 之类的参数,则此信息会丢失给 PHP,因为对于您的 PHP 脚本,看起来只有最后一个 URL 被调用来打开此文件。
-
那么,是否有必要让它放在 URL 上,比如:www.example.com/post/1/the-posts-title 对吧?
标签: php .htaccess seo friendly-url