htaccess重定向使用mod_rewrite为seo友好的网址

Mik*_*ike 4 php .htaccess

我正在尝试使用htaccess减少我的URL,我的index.php充当以下代码的密钥:

  RewriteEngine on
  RewriteRule ^([^/]+)$ index.php?city=$1 [NC]
Run Code Online (Sandbox Code Playgroud)

要在我的会员区使用此功能,我是否只需添加以下内容即可使用mysite.com/members/index.php?city=$1

      RewriteRule ^members/([^/]+)$ index.php?city=$1 [NC]
Run Code Online (Sandbox Code Playgroud)

如果一个城市有多个单词,即:纽约市,最好的办法是什么?在.htaccess中定义它(不确定是否可能)改变纽约市 - >纽约市或实际上任何空间到破折号.或者,在php中使用函数来替换'' - >' - '用于使用$ _GET的数据库查询?

Kle*_*ist 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]
Run Code Online (Sandbox Code Playgroud)

(根据搜索的答案并在apache中替换htaccess一个RewriteRule)