这部分是“这不起作用”的问题,但也是关于URL美化的最佳实践问题。
这是一个简化的站点地图:
就像我上面提到的,我将.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.
以下是我的两个问题:
修改
Mike在评论中指出我的.htaccess
指向student.php,当文件实际上是students.php时 - 在进行切换后,我再也无法访问students.php - 有或没有查询字符串,美化与否。