0

我的 .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/。我该如何解决?

4

1 回答 1

0

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

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

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

RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /entertainment/$1-$2 [L,R=301,DPI]
于 2013-08-18T04:58:56.110 回答