我需要一个 .htaccess mod_rewrite 解决方案,它将采用这样的 .cgi 搜索查询:
www.mydomain.com/cgi-bin/finda/treatment.cgi?Therapy_Type=普拉提培训&City=洛杉矶&State=CA
并在浏览器的地址栏中返回匹配结果,如下所示:
www.mydomain.com/therapists/Pilates-Training-Los-Angeles-CA.html
或者更好:
www.mydomain.com/therapists/pilates-training-los-angeles-ca.html
请注意,数据库包含一个、两个或三个单词 + 空格的值......
例如:
Therapy_Type=Pilates Training <- includes a space
City=Los Angeles <- includes a space
State=CA <- no space
我使用该工具在:http ://www.generateit.net/mod-rewrite/生成以下 RewriteRule:
RewriteEngine On
RewriteRule ^([^-]*)-([^-]*)-([^-]*)\.html$ /cgi-bin/finda/therapist.cgi?Therapy_Types=$1&City=$2&State=$3 [L]
这确实有效(找到搜索匹配项)并生成结果页面,但由于参数值中有空格,我们最终得到一个如下所示的 URL:
www.mydomain.com/treatments/Pilates%20Training-Los%20Angeles-CA.html
我在这个论坛和其他人花了几天时间试图找到一个解决方案来摆脱这些 %20(编码空格),所以最终返回的 URL 看起来像上面的 1) 或 2)。
我知道这里有人必须知道如何做到这一点......帮助;-)