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 回答