0

私は .htaccess で何かをしようとしていますが、それができるかどうかはわかりません。

最初にしたことは、次のコードを使用して .php 拡張子を非表示にすることです。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

よく働く。

今、私がやろうとしていて、理解できないように見えるのは次のとおりです。

ユーザーがブラウザのアドレス バーに「mywebsite.com/products?id=12345」と入力すると、サーバーは ID に従って適切な製品ページを提供し、アドレス バーには「mywebsite.com/product」として表示します。商品IDは問いません。

これは可能ですか?はいの場合、どのように?

ありがとう

4

2 に答える 2

0

結局、ajaxとセッションを使用して、フィルタリングプロセスをユーザーにとってシームレスにしました。私がやろうとしていたことは、htacessファイルでは不可能だったと思います。とにかくありがとう!

于 2009-08-06T02:55:00.573 に答える
0

それはきれいな方法では実際には不可能です。アドレス バーを変更するには、実際の HTTP リダイレクトを送信する必要があります。つまり、リダイレクト先が何であれ、ブラウザーから新しい要求を取得することになり、その 2 番目の要求では製品 ID がなくなります。

これを回避するには、次の 2 つの方法があります。

  • サーバーをステートフルにする
  • 商品をクッキーに保存する

これらはどちらも悪い考えです。

とにかく、なぜこれをやりたいのですか?ユーザーが製品をブックマークできないようにしたいですか? それはかなりユーザーに敵対しているようです。

于 2009-08-05T23:15:39.887 に答える