.htaccess を使用して、クエリ文字列を介してファイル パスをファイル名に書き換えます
P粉035600555
P粉035600555 2024-01-01 15:35:08
0
1
555

クエリ文字列を使用してファイル パスを書き換えるのに問題があります

次のような URL を取得しようとしています:

https://url.com/products/1_Samsung_Galaxy

そしてサーバーへのリクエストを次のように書き換えます:

https:url.com/model.php?id=1&title=Samsung_Galaxy

これまでの私の htaccess は次のようになります:

リーリー

現在の構成では、リクエストはmodel.phpと同じディレクトリにあるproducts.phpという名前のファイルに送信されますが、一部のスクリプトファイルがproducts.php内で相対パスで参照されているため、別のディレクトリにあるように見えます。含まれるオブジェクトが存在しない場合は例外をスローします。

実のところ、私の主な問題は、Apache の構文やその仕組みが分からず、Apache について学べるリソースを見つけるのに苦労していることです。何らかの理由で、Apache のドキュメントはあまり役に立ちません。 Apache ファイルの作成方法を学習するための優れたリソースがあれば、ぜひチェックしてみたいと思います。

P粉035600555
P粉035600555

全員に返信(1)
P粉463824410

あなたの質問は少し曖昧ですが、これがあなたが探しているものだと思います:

リーリー

これらのルールは、http サーバーのホスト構成に実装されている場合に機能します。ファイルにアクセスできない場合は、http ホストの DOCUMENT_ROOT フォルダーにある分散構成ファイル (「.htaccess」) でファイルにアクセスすることもできます。

あなたの試みとの主な違い:

  • 宛先パスは 絶対 パスとして記述されます。これにより、リクエストが別のフォルダーに書き換えられるという問題が解決されます。
  • 例外リライトを最初に /model.php に実装します。これにより、ルールは上から下に処理されるため、ファイルの上位で実行されます。これにより、いくつかの条件が節約されます。

また、「Apache 構文に慣れていない」ため、それを学ぶためのリソースを見つけるのに苦労するともおっしゃっていました。

Apache モジュールの公式ドキュメントを常にお勧めします。これらは優れた品質であり、素晴らしい例を提供しています:

https://httpd.apache.org/docs/current/mod /mod_rewrite.html

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート