【问题标题】:Replace white space%20 white - in search url替换空格%20 white - 在搜索url
【发布时间】:2013-05-07 07:43:54
【问题描述】:

我尝试了很多代码都没有结果。 我用的是wordpress,搜索结果的url是:

http://mysite.com/search/the%20search%20query%20

我需要改一下

http://mysite.com/search/the-search-query/

htaccess 有什么办法吗?

这实际上是我的 htaccess 文件:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Options +FollowSymlinks -MultiViews
RewriteRule ^(.+)(\s|%20)(.+)$ /$1-$3 [R=301,QSA,L,NE]

# END WordPress

最后的重写规则是我尝试的没有成功

【问题讨论】:

    标签: .htaccess rewrite whitespace removing-whitespace


    【解决方案1】:

    您的规则看起来不错,但是您您的路由规则之后拥有它。这意味着无论如何,该规则永远不会达到,因为所有内容,包括任何带有空格的请求,都会被路由到index.php。您需要将所有重定向规则放在您的路由规则之前:

    Options +FollowSymlinks -MultiViews
    RewriteRule ^(.+)(\s|%20)(.+)$ /$1-$3 [R=301,QSA,L,NE]
    
    # BEGIN WordPress
    
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 2014-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-04-19
      • 2018-01-16
      • 1970-01-01
      相关资源
      最近更新 更多