Ответ 1
Если у вас нет доступа к конфигурации вашего хоста
DocumentRoot
может использоваться только в конфигурациях сервера и виртуального хоста .htaccess он должен быть.
-
Пусть добавляются директивы в ваш .htaccess
RewriteEngine on
-
Я предполагаю, что вы хотите, чтобы запросы/активы проходили через
#if a match for asset is found, do nothing RewriteRule ^assets/ - [L]
-
Если запрос пытается получить доступ к
/php/views/pages/
напрямую, перенаправляет его на свою каноническую версиюRewriteCond %{THE_REQUEST} php/views/pages/ RewriteRule ^php/views/pages/(.*) http://mydomain.com/$1 [R=301,L]
-
И добавьте правило, чтобы сопоставить все остальное с
/php/views/pages/
RewriteCond %{REQUEST_URI} !php/views/pages/ RewriteRule ^(.*)$ /php/views/pages/$1 [L]
Если у вас есть доступ к конфигурации вашего хоста
Забудьте о файлах .htaccess и используйте их. Пример конфигурации может выглядеть как
# ~base stands for your original DocumentRoot
<VirtualHost *:80>
DocumentRoot ~base/php/views/pages
Alias /assets ~base/assets
# other configuration parameters
</VirtualHost>