在URL和.htaccess中使用空格

在URL和.htaccess中使用空格,.htaccess,url-rewriting,.htaccess,Url Rewriting,我为我的城市写了一个本地名字/电话/地址搜索引擎 用户必须能够通过以下URL之一快速访问结果: 按数字搜索 按姓氏搜索 按姓和名搜索 这是我当前的.htaccess配置: # Smart links RewriteRule ^([0-9]+)$ /html/index.php?phone=$1 [QSA,L] RewriteRule ^([A-Za-z-]+)$ /html/index.php?lastname=$1 [QSA,L] RewriteRule ^([A-Za-

我为我的城市写了一个本地名字/电话/地址搜索引擎

用户必须能够通过以下URL之一快速访问结果:

  • 按数字搜索
  • 按姓氏搜索
  • 按姓和名搜索
  • 这是我当前的.htaccess配置:

    # Smart links
    RewriteRule ^([0-9]+)$ /html/index.php?phone=$1 [QSA,L]
    RewriteRule ^([A-Za-z-]+)$ /html/index.php?lastname=$1 [QSA,L]
    RewriteRule ^([A-Za-z-]+)/([A-Za-z-]+)$ /html/index.php?lastname=$1&name=$2 [QSA,L]
    
    这非常有效,除非用户在姓氏和/或名字中包含空格。此外,在搜索姓名时不能使用数字

    有没有关于如何在url中允许空格的想法?谢谢

    你能试试这个吗<代码>([a-z-\s]+)

    \s将处理空格

    RewriteRule ^([0-9]+)$ /html/index.php?phone=$1 [QSA,L]
    RewriteRule ^([A-Za-z-\s]+)$ /html/index.php?lastname=$1 [QSA,L]
    RewriteRule ^([A-Za-z-\s]+)/([A-Za-z-\s]+)$ /html/index.php?lastname=$1&name=$2 [QSA,L]
    
    RewriteRule ^([A-Za-z-\s]+)/([A-Za-z-\s]+)$ /index.php?lastname=$1&name=$2 [QSA,L]