Вы просто должны делать именно то, что, как вы сказали, вы хотели сделать, аналогично тому, как вы это делали с другими правилами, поэтому я не уверен, насколько это квалифицируется как «ответ»... Но ради полноты я пойду дальше и напишу полностью:
(Кроме того, я сжал ваши другие правила в одну строку)
# Add in this condition because consultancy-02.php matches here too
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^consultancy(.*)$ art-consultancy$1
RewriteRule ^art-consultancy/?$ consultancy-02.php [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/?$ consultancy-02.php?section=$1 [L]
RewriteRule ^art-consultancy/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]+)/?$ article-01.php [L]
Если вы хотите, чтобы consultancy
было преобразовано в art-consultancy
в URL-адресе браузера пользователя, вам следует заменить первое RewriteRule
следующим:
RewriteRule ^consultancy(.*)$ /art-consultancy$1 [R=301,L]
Я не совсем уверен, почему Redirect
не сработало так, как вы ожидали.Если вы посмотрите на error_log
вашего сервера, это может сказать вам, но в противном случае трудно предположить, не зная, как выглядит структура каталогов вашего сайта.