Вероятно, у вас ошибка 500, потому что ваше правило входит в цикл перезаписи. Вместо этого попробуйте это правило:
RewriteCond %{HTTP_HOST} ^(www.)?parkeddomain\.com$ [NC]
RewriteRule ^(.*)$ http://www.maindomain.com/park/$1 [R=302,L]
Это 302 временное перенаправление (потому что ваш домен припаркован, и однажды вы можете решить фактически начать его использовать). Но если вы действительно хотите, можете сделать это 301 Постоянное перенаправление
Правило будет работать, если пользователь заходит через parkeddomain.com (например, http://www.parkeddomain.com/hello
).
Если вы не хотите перенаправлять (поэтому URL в браузере по-прежнему показывает http://www.parkeddomain.com/hello
вместо http://www.maindomain.com/park/hello
), используйте это вместо:
RewriteCond %{HTTP_HOST} ^(www.)?parkeddomain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/park/
RewriteRule ^(.*)$ /park/$1 [L]
UPDATE
Это правило позволит переписывать даже такие URL-адреса: parkeddomain.com/park/index.php
-> /park/park/index.php
RewriteCond %{HTTP_HOST} ^(www.)?parkeddomain\.com$ [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{DOCUMENT_ROOT}/park/$1 -f
RewriteRule ^(.*)$ /park/$1 [L]
ОБРАТИТЕ ВНИМАНИЕ: Поскольку он использует %{ENV:REDIRECT_STATUS}
, он может не работать на вашем хостинге (это используется для обнаружения цикла перезаписи, поэтому правило перезаписывается только один раз).