私はPHPと.htaccessの初心者です。ここに私のジレンマがあります...望ましくないリクエストを無効にするにはどうすればよいですか? (MySQL、.htaccess、PHP)
私は動的ページを構築し、htaccessを使ってURLを書き換えました。
州:example.com/massachusetts-colleges.html
市:example.com/massachusetts-colleges/boston-ma-colleges.html
ページ...例の3種類があります。大学:example.com/massachusetts-colleges/boston-ma-colleges/harvard.html
問題は、ページが(おそらく古いリンク構造から)要求されているということであるような存在してはなりません:
example.com/boston-ma-colleges.html
状態のURLは、データベース(stateSlug =マサチューセッツ大学)に位置テーブルに記憶されています。都市のURLはデータベースのロケーションテーブルにも格納され、対応する州のスラッグもその都市に保存されます(citySlug = boston-ma-collegesおよびstateSlug = massachusetts-colleges)。カレッジは別のテーブルに保存されており、都市に対応するためにIDを使用します。
「その他」のURLにアクセスできないようにするには(テンプレートとデータは表示されません)、404ページを表示(またはホームページにリダイレクト)するために.htaccessを使用するにはどうすればよいですか?
これは私の.htaccessファイルが今のようになります。もう一度
RewriteEngine on
RewriteRule ^([^/\.]+)\.html?$ php/statePage.php?stateSlug=$1 [L]
RewriteRule ^([^/\.]+)-colleges/([^/\.]+)\.html?$ php/cityPage.php?citySlug=$2&stateSlug=$1 [L]
RewriteRule ^([^/\.]+)-colleges/([^/\.]+)/([^/\.]+)\.html?$ php/collegePage.php?collegeSlug=$3&citySlug=$2&stateSlug=$1 [L]
、私はhtaccessファイルとPHP言語にやや新しいです。私はこの問題について何か助けていただければ幸いです。
ありがとうございました!
RewriteRule ^(.*)$ - [F]
リクエストあなたのイメージとCSSをいじり避けるために:すべてのコンテンツは、上記のいずれかのURLにマッチしている、あなたは、単に最後に別のルールを追加することによって、他のすべてへのアクセスを禁止することができますと仮定
私はちょうどあなたが私に言ったことを追加しようとし、それは表示されるはずのページに "禁じられた"を引き起こしました... – NotJay