У меня проблема с двумя файлами htaccess, которые у меня есть на хостинге на godaddy.У меня есть несколько доменов на одном хостинге, и поэтому я использую htaccess, который я нашел и который отлично работает:
RewriteEngine On
RewriteBase /
# To redirect www.site1.com to /site1/
RewriteCond %{REQUEST_URI} !^/site1/
RewriteCond %{HTTP_HOST} ^(www\.)?site1\.www\.
RewriteRule ^(.*)$ site1/$1 [L]
Это здорово, потому что он перенаправляет всех, кто переходит на site1.com, на / site1 /, и у меня естьстраница для site1 в этом каталоге.На самом деле у меня есть те же три других домена, и они отлично работают (папка скрыта в строке URL).
Моя проблема в том, что я добавил новый домен (site2.com), который является приложением Zend.Поэтому у него есть свой собственный htaccess для переписывания URL (для передачи параметров более приятным способом в URL).Для этого он не работает.На самом деле я перенаправлен НАЗАД на / и получаю страницу /index.html, которую никто не должен получить.Просто чтобы заметить: webroot Zend-приложения - это «www»:
Второй htacess внутри / site2 / www -
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Я не знаю, как это происходит.Разве команды htaccess не являются относительными?почему он возвращается на два уровня (помните, что он находится в / site2 / www, а файл, который я получаю, находится в /index.php (тест))