robokassa...
Херней занимаетесь, имхо.
Ссылки работают относительно папки /autor/. Или добавляете base href='/', либо прописываете их относительно домена '/script.js' и тд
А каким образом оно будет работать, если оба имеют одинаковых шаблона? Либо то, либо другое, сервер не экстрансенс он не знает что /zigmund_frejd.html это autor.php а /Tak_govoril_Zaratustra.html это book_exchanger.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?\.php)$ view-page.php?url=$1 [QSA,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{QUERY_STRING} ^name=([^&]+)&autor=([^&]+)
RewriteRule ^book\.php /book/%1-%2.html? [R=301,L]
Потому что утверждения в совпадающей строке не попадают, вы их только захватили как отдельную группу. А если захватить как вам хочется, то курсор будет сдвигаться на найденное количество совпадений.
Последнию строчку в варианте заменить на
RewriteRule ^autor.php /autor/%1.html? [R=301,L]
RewriteEngine On
RewriteRule ^test/$ /test.php [L]
добавить в htaccess папки site.ru
А причем тут коллбэк? Как составили регулярное выражение так и находит.
"Что-бы было" работаете с массивом. Для regexp тут по моему нужна рекурсия, и то непонятно зачем.