我目前正在使用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=
只是一个正斜杠,所以基本上删除额外的querystring参数,同时保持正常的重写规则,如果没有传递额外的查询字符串参数。
感谢您的帮助,
太
答案 0 :(得分:0)
尝试在最后一次添加此规则:
RewriteRule ^(.+)&property=(.*)$ /index.php?page=$1/$2 [L,QSA]
但请注意,这仅在&property=
是URI的一部分时(在您显示的示例中)才有效,因为它只是作为重写规则主题的URI,而不是查询字符串。