【问题标题】:WordPress 301 Redirect Spaces to HypensWordPress 301 将空格重定向到连字符
【发布时间】:2013-08-18 04:36:56
【问题描述】:

我的 .htaccess 文件中有以下内容:

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

 # END WordPress

问题在于 domain.com/entertainment/testing 1/ 重定向到 domain.com/testing-1 而不是 domain.com/entertainment/testing-1/。我该如何解决这个问题?

【问题讨论】:

    标签: wordpress redirect http-status-code-301


    【解决方案1】:

    使用的[DPI] 标志意味着丢弃路径信息。因此,重写基础没有生效。要么使用

    RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /$1-$2 [L,R=301]
    

    或者,将目录名称附加到重写规则中

    RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /entertainment/$1-$2 [L,R=301,DPI]
    

    【讨论】:

      猜你喜欢
      • 2011-08-14
      • 2019-02-04
      • 1970-01-01
      • 2012-04-20
      • 2017-04-13
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多