我正在尝试使用htaccess修剪我的网址,将index.php作为密钥,使用以下代码:
RewriteEngine on
RewriteRule ^([^/]+)$ index.php?city=$1 [NC]
要在我的会员区使用此功能,我是否只需添加以下内容即可使用mysite.com/members/index.php?city=$1
RewriteRule ^members/([^/]+)$ index.php?city=$1 [NC]
如果一个城市有多个单词,即:纽约市,最好的办法是什么?在.htaccess中定义它(不确定是否可能)来改变纽约市 - >纽约市或实际上任何破折号的空间。或者,在php中使用函数替换'' - > ' - '表示使用$ _GET的数据库查询?
答案 0 :(得分:5)
我会用PHP中的破折号替换空格,然后重定向到新版本的URL以获得易于阅读的地址。 (空格编码为%20,不易读取)
这样您仍然可以输入地址domain.com/new york city
,但会被重定向到domain.com/new-york-city
而不是domain.com/new%20york%20city
。
.htaccess中的替换可能是这样的:
RewriteRule ^([^\s]*)\s(.*) $1-$2 [N]