0

現在、htaccessを使用して、次を使用して単一のクエリ文字列をページ名に書き換えていますが、正常に動作しています...

 Options +FollowSymLinks


RewriteEngine on
  RewriteBase /

  RewriteCond %{HTTP_HOST} !^www\.
  RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

  # Rewrites urls in the form of /parent/child/
  # but only rewrites if the requested URL is not a file or directory
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.+)$ /index.php?page=$1 [QSA]

私の問題は、元のクエリ文字列の上に追加のクエリ文字列を実装しようとしていることです。次のようにページに正常にアクセスできます/property-listing&property=12-Langworthy-Royston-Grove

ただし、&property=をスラッシュだけに書き換えたいので、追加のクエリ文字列パラメーターが渡されない場合は通常の書き換えルールを維持しながら、基本的に追加のクエリ文字列パラメーターを削除します。

助けてくれてありがとう、

マット。

4

1 に答える 1

0

最後の前にこのルールを追加してみてください:

RewriteRule ^(.+)&property=(.*)$ /index.php?page=$1/$2 [L,QSA]

ただし、&property=クエリ文字列ではなく、書き換えルールの対象となるのは URI のみであるため、これは URI の一部である場合にのみ機能することに注意してください (例ではそれを示しています)。

于 2012-06-24T12:17:00.073 に答える