1

www.website.com/clients/index.php?display=client-nameこのURLをに変換しようとしていwww.website.com/clients/client-nameます。

しかし、クライアント名の長さが異なることが多いため、問題が発生しています。1語から5語以上のどこでもかまいませんが、常にハイフンで区切られます。

  • クライアント
  • クライアント名
  • クライアント名の不動産

このサイトの他のいくつかのURLを正常に作成しましたが、これを機能させることができません。

4

2 に答える 2

0

1)(私には)別の方法でそれを行っているようです。2番目は人間が読める形式のリンクURLであり、最初はmod_rewrite処理の結果である必要があります。
2)開始点と終了点がわかっている限り、クライアント名の長さは関係ありません。ここで、開始は次のよう
/clients/(.*)$
に書き換える必要があります。
/clients/index.php?display=$1

正規表現についてもう少し読むと、

于 2012-08-09T15:52:21.937 に答える
0

ハイフンと一致しない正規表現を使用している場合を除いて、ハイフンは重要ではありません。式に含めるだけです-。たとえば、があった場合は、を追加する([A-Za-z0-9]+)だけで、がになります。また、一致するものが既存のリソース(index.phpなど)のものではないことを確認する必要があります。これは、それらを単に提供するためです。だから次のようなもの:-([A-Za-z0-9-]+)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^/?clients/([A-Za-z0-9-]+)/?$ /clients/index.php?display=$1 [L]
于 2012-08-12T20:45:48.720 に答える