0

这部分是“这不起作用”的问题,但也是关于 URL 美化的最佳实践问题。

这是一个简化的站点地图:

  • 索引.php
  • / 要求
    • .htaccess
    • 学生.php
    • 企业.php
    • 地区.php
  • 网站的其余部分

就像我上面提到的,我将 .htaccess 放在 requests 目录中。这里有一点背景和我想要完成的事情:

将为参与该计划的每个学区定制学生和企业页面。将分发链接,将他们带到他们的特定页面。如果有人试图在没有学区标识符的情况下访问公司或学生页面 - 他们将被重新路由到 Districts.php,在那里他们可以选择他们所属的学区。

然而,这一切都很完美 - 我正在尝试清理我的查询字符串,并希望mysite.com/reqeusts/students.php?district=7看起来像mysite.com/reqeusts/students/7

这是我正在使用的 .htacces 文件:

RewriteEngine on
RewriteCond %{QUERY_STRING} .
RewriteRule    ^students/([0-9a-z\-]+)/?$    students.php?url=$1    [L]

我可以访问mysite.com/requests/students.phpmysite.com/requests/students.php?district=7非常好,但是mysite.com/requests/students/7给了我 404。

这是我的两个问题:

  1. 我目前的方法有什么明显的错误吗——我读过的所有东西(在这里和外部)都让我创造了我现在拥有的东西,并且看起来适合大多数人。
  2. 这是可扩展的吗?我还想处理corporate.php 和districts.php 的查询字符串,我见过的大多数例子只处理一个脚本的请求。

编辑 迈克在评论中.htaccess指出,当文件实际上是students.php时,我的指向student.php-进行该切换后,我根本无法再访问students.php-有或没有查询字符串,无论是否美化.

4

0 回答 0