Попробуйте добавить следующее в файл .htaccess
в корневом каталоге (public_www
) вашего сайта.
RewriteEngine on
RewriteBase /
#if its on dev.xxx.com
RewriteCond %{HTTP_HOST} ^dev\.XXX\.com$ [NC]
#if its not already public_www/ rewrite to public_www/
RewriteRule ^(?!public_www/)(.*)$ /public_www/$1 [L,NC]
Правило, которое вы имели, привело бы к бесконечной перезаписи и последующей ошибке 500. То, что выше, должно предотвратить это.
EDIT
Не могли бы вы объяснить, почему моя версия ведет к бесконечному циклу
Я, вероятно, ошибаюсь в бесконечном цикле, но ниже будет то, что произойдет
- Начать с любого ввода
^(.*)$
шаблон будет соответствовать любому входу
- Переписать будет
/public_www/$1
- .htaccess правила будут запущены снова
^(.*)$
шаблон будет соответствовать переписанному вводу /public_www/$1
- Переписать будет
/public_www/public_www/$1
- На данный момент, скорее всего, произойдет сбой, так как каталог не существует ...
Ваш шаблон RewriteRule ^(.*)$
будет соответствовать всем входным данным и будет перезаписан. Правила .htaccess будут снова запущены