htaccess 编辑以避免重复

htaccess editing to avoid duplicating

在我的网站上有这个 .htaccess 代码

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^einfogarden.com$
RewriteRule (.*) http://www.einfogarden.com/ [R=301,L]

RewriteCond %{THE_REQUEST} \s/+single\.php\?title=([^\s&]+) [NC]
RewriteRule ^ %1/? [R=302,L,NE]

# convert %20 to -
RewriteRule "^(\S*) +(\S* .*)$" - [N,NE]
RewriteRule "^(\S*) (\S*)$" - [L,R=302,NE]

## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} \s/+(.*?)[^/][?\s]
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ single.php?title= [NE,L,QSA]
</IfModule>

我将 20% 转换为 - 但问题是最后的反斜杠“/”是根据“-”号重复的,我怎么能只得到一个反斜杠

你的规则是这样的:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^einfogarden.com$
RewriteRule (.*) http://www.einfogarden.com/ [R=301,L]

RewriteCond %{THE_REQUEST} \s/+single\.php\?title=([^\s&]+) [NC]
RewriteRule ^ %1/? [R=302,L,NE]

## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} \s/+(.*?)[^/][?\s]
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=302]

# convert %20 to -
RewriteRule "^(\S*) +(\S* .*)$" - [L,NE]
RewriteRule "^(\S*) (\S*)$" - [L,R=302,NE]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+?)/?$ single.php?title= [NE,L,QSA]

即重新排列并删除 N 标志。