Для этих принципов:
domain.localhost -> domain.localhost/subdir/
domain.localhost/ -> domain.localhost/subdir/
domain.com-> domain.com/subdir/
www.domain.com -> www.domain.com/subdir/
Вот точные rewriterules:
Options +FollowSymLinks
DirectoryIndex questions.php
RewriteEngine on
# domain.localhost -> domain.localhost/subdir/
RewriteCond %{HTTP_HOST} ^domain\.localhost$
RewriteRule (.*) /subdir/$1 [QSA,L]
# domain.com -> domain.com/subdir/
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule (.*) /subdir/$1 [QSA,L]
Если это не работает, попробуйте без "/
":
Options +FollowSymLinks
DirectoryIndex questions.php
RewriteEngine on
# domain.localhost -> domain.localhost/subdir/
RewriteCond %{HTTP_HOST} ^domain\.localhost$
RewriteRule (.*) /subdir$1 [QSA,L]
# domain.com -> domain.com/subdir/
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule (.*) /subdir$1 [QSA,L]
Примечание: перенаправлять с помощью директивы [R]
не нужно.Нет необходимости уточнять весь домен.