0

これは部分的に「これは機能しない」という質問ですが、URL 美化に関するベスト プラクティスの質問でもあります。

簡単なサイト マップは次のとおりです。

  • index.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 が返されます。

ここに私の2つの質問があります:

  1. 私の現在のアプローチに明らかに間違っていることはありますか - 私が読んだすべて (ここと外部) は、私が今持っているものを作成するように導き、ほとんどの人のために働いているようです.
  2. これはスケーラブルですか?また、corporate.php と districts.php のクエリ文字列も処理したいと考えています。これについて私が見たほとんどの例では、1 つのスクリプトの要求しか処理していません。

編集 マイクはコメントで.htaccess、ファイルが実際には students.php であったときに、私が Student.php を指していたことを指摘しました。その切り替えを行った後、student.php にまったくアクセスできなくなりました。クエリ文字列の有無にかかわらず、美化されているかどうかにかかわらずです。 .

4

0 に答える 0