首先,很抱歉我的英语不好。
我尝试重写从Form Get生成的url并重定向。
我的url是这样的:
http://www.mysite.com/properties?action=search&agreement=for-rent&category=my-category&type=&zone=my-zone&city=my-city
我已经配置了.htaccess:
11. RewriteCond %{QUERY_STRING} ^action=(?:[a-zA-Z-]*)&(?:.*)=([a-zA-Z-]*)&(?:.*)=([a-zA-Z-]*)&(?:.*)=([a-zA-Z-]*)&(?:.*)=([a-zA-Z-]*)&(?:.*)=([a-zA-Z-]*)$
12. RewriteRule (.*) %{REQUEST_URI}/%1/%2/%3/%4/%5/? [R=301,L]
所以基本上我所有的请求都直接指向index.php。
21. RewriteCond %{REQUEST_URI} !index.php|resources|hidden
22. RewriteRule ^(.*)$ index.php/$1 [L]
所有这些都可以,但问题是,当我在查询字符串中有一个空值时,规则会添加双斜线,上面的url(例如whit&;type=&;zone=my zone…type有空值)会这样翻译:
http://www.mysite.com/for-rent/my-category//my-zone/my-city/
问题是:如果查询字符串中有一个或多个空值,我如何在.htaccess中删除生成的双斜杠?
谢谢