我的.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/。我该如何解决这个问题?
答案 0 :(得分:0)
使用的[DPI]
标志表示丢弃路径信息。因此,重写基础没有生效。使用
RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /$1-$2 [L,R=301]
或者,将目录名称附加到重写规则
RewriteRule ^([^\s%20]+)(?:\s|%20)+(.*)$ /entertainment/$1-$2 [L,R=301,DPI]