怪异的404与.htaccess

时间:2013-07-09 23:37:54

标签: php .htaccess

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

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

  • 的index.php
  • /要求
    • 的.htaccess
    • students.php
    • corporate.php
    • districts.php
  • 网站的其余部分

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

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

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

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

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

我可以访问 mysite.com/requests/students.php mysite.com/requests/students.php?district=7 完全没问题,但 mysite.com/requests/students/7 给了我一个404.

以下是我的两个问题:

  1. 我目前的做法是否有任何明显错误的东西 - 我所阅读的所有内容(此处和外部)都让我创造了我现在拥有的东西,并且看起来对大多数人都有效。
  2. 这可扩展吗?我也想处理corporate.php和districts.php的查询字符串,我见过的大多数例子都只处理了一个脚本的请求。
  3. 修改 Mike在评论中指出我的.htaccess指向student.php,当文件实际上是students.php时 - 在进行切换后,我再也无法访问students.php - 有或没有查询字符串,美化与否。

0 个答案:

没有答案