0

私は自分のプロジェクトに wamp サーバーを使用しており、URL をきれいにすることにこだわっています。

現在、私のURLアドレスは次のようになっています

http://localhost/BookProjectFinal/booksdetails.php?pid=8

こんな風にしたい

http://localhost/BookProjectFinal/booksdetails/8

.htaccess ファイルで使用しているのはこれです

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ booksdetails.php?pid=$1
RewriteRule ^([a-zA-Z0-9]+)/$ booksdetails.php?pid=$1

しかし、URL全体を返すことはできません。それの何が問題なの?ありがとう

4

1 に答える 1

1

RewriteBase パラメータは mod_rewrite にどのディレクトリから照合を開始するかを指示します。これは、Apache のサブフォルダーに存在するアプリケーションに使用できます。ここで /BookProjectFinal/ に設定するとよいでしょう。

あなたの正規表現は、必要に応じてスラッシュが続く完全な英数字の URL と一致するように見えますが、これがあなたの望むものかどうかはわかりません。次のようなものを試してください:

RewriteRule bookdetails/([0-9]+) bookdetails.php?pid=$1

数のみを一致させます。ここにテストがあります:

RewriteEngine On
RewriteRule ^bookdetails/([0-9]+) bookdetails.php?a=b&pid=$1

/bookdetails/8 の形式の URL に一致します。bookdetails.php の健全性チェックに print_r($_GET) を使用

于 2013-10-02T09:12:09.657 に答える