Итак, если я правильно понимаю, вам просто нужно добавить sla sh к URL /author/<username>
?
Попробуйте что-то вроде этого в верхней части .htaccess
файла:
RewriteRule ^(author/[A-Za-z0-9+-]+)$ /$1/ [R=302,L]
+
внутри класса символов не имеет особого значения, поэтому его не нужно экранировать. Дефис (-
) должен находиться в начале или конце класса символов, чтобы соответствовать буквальному дефису (без необходимости экранировать его).
В следующем переписывании теперь можно принудительно использовать завершающий символ sla sh, вместо того, чтобы сделать его необязательным. Например:
RewriteRule ^author/([A-Za-z0-9+-]+)/$ author/index.php?username=$1 [NC,L,QSA]
Сводка
RewriteEngine On
# Append trailing slash if omitted
RewriteRule ^(author/[A-Za-z0-9+-]+)$ /$1/ [NC,R=302,L]
# Internal rewrites...
RewriteRule ^author/([A-Za-z0-9+-]+)/$ author/index.php?username=$1 [NC,L,QSA]
RewriteRule ^authorpost/([A-Za-z0-9+-]+)/postid/([0-9]+)/?$ author/index.php?username=$1&postid=$2 [NC,L,QSA]
В идеале следует избегать использования флага NC
для внутренних перезаписей , чтобы избежать возможного дублирования содержимого , По крайней мере, это должно быть ненужным.