Проблема в следующем:
У меня есть сайт на самописном движке, он работает с mod_rewrite, который настроен таким образом (из файла .htaccess):
RewriteRule ^(.*)$ index.php?route=$1
Т.е. любой маршрут перехватывается index.php и далее им обрабатывается.
Я хочу сделать админку на копии этого же движка в папке [корневая папка]/admin.
Я создал эту папку, скопировал туда копию движка и при переходе по адресу мой_сайт.com /admin открывается админка и всё ок.
Теперь суть проблемы:
Все ссылки в админке по-прежнему «отталкиваются» от корневой папки сайта. Т.е. ссылка вида “/” ведёт не на [мой_сайт.com/admin] (как нужно мне), а на [мой_сайт.com]. Как решить эту проблему? Подскажите пожалуйста КОНКРЕТНОЕ РЕШЕНИЕ, например как правильно настроить htaccess в админке (я так понимаю проблему можно решить таким способом?)
Спустя 20 минут, 12 секунд (5.10.2012 - 12:39) dron4ik написал(а):
в админке должен быть файл конфигурации, в нем должен настраивать путь от корня... мой_сайт.com/ замени на мой_сайт.com/admin/
Спустя 6 минут, 50 секунд (5.10.2012 - 12:45) sergey_dzen написал(а):
у меня файл конфигурации и в админке и на сайте одинаковый:
AddDefaultCharset utf-8
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-l
RewriteRule ^(.*)$ index.php?route=$1
------------------------------------------------
Если в конфиг админки я добавляю DirectoryIndex /admin/index.php - просто отображается папка с админкой
Как сделать правильно?
AddDefaultCharset utf-8
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-l
RewriteRule ^(.*)$ index.php?route=$1
------------------------------------------------
Если в конфиг админки я добавляю DirectoryIndex /admin/index.php - просто отображается папка с админкой
Как сделать правильно?
Спустя 54 минуты, 59 секунд (5.10.2012 - 13:40) dron4ik написал(а):
не .htaccess а config.php такой файл в папке админки есть?
Или как ты настраивал полные пути для своего сайта?
Или как ты настраивал полные пути для своего сайта?
Спустя 24 минуты, 30 секунд (5.10.2012 - 14:05) sergey_dzen написал(а):
Такого файла нет, я никак не настраиваю пути. это самописный движок. мне просто надо если я в админке пишу <a href='/news'>ссылка</a>, чтобы эта ссылка вела автоматически на сайт/admin/news, а не на сайт/news, т.е. чтобы в админке за корень принималась папка admin/
Проблема в том что я использую здесь ЧПУ. Ранше, без чпу ссылки "index.php..." в админке ссылались на index.php в админке. а как сделать также теперь - не знаю. поясню на всякий случай: у меня есть /index.php и /admin/index.php. я хочу чтобы /admin/index.php также работал с ЧПУ..но был как независимый сайт со своим корнем. и чтобы ссылки также были относительными. "/foo" = "www.example.com/admin/foo"
Вы имеете ввиду, что мне надо в конфиге создать переменную с путём к корню и строить ссылки программно прибавляя относительный путь к этому в конфиге? ну так конечно можно.. но неужели нельзя обойтись средствами htaccess?
Проблема в том что я использую здесь ЧПУ. Ранше, без чпу ссылки "index.php..." в админке ссылались на index.php в админке. а как сделать также теперь - не знаю. поясню на всякий случай: у меня есть /index.php и /admin/index.php. я хочу чтобы /admin/index.php также работал с ЧПУ..но был как независимый сайт со своим корнем. и чтобы ссылки также были относительными. "/foo" = "www.example.com/admin/foo"
Вы имеете ввиду, что мне надо в конфиге создать переменную с путём к корню и строить ссылки программно прибавляя относительный путь к этому в конфиге? ну так конечно можно.. но неужели нельзя обойтись средствами htaccess?
Спустя 12 минут, 41 секунда (5.10.2012 - 14:18) dron4ik написал(а):
RewriteRule ^(.*)$ index.php?route=$1
RewriteRule ^(.*)$ /admin/index.php?route=$1
RewriteRule ^(.*)$ /admin/index.php?route=$1
Спустя 7 минут, 4 секунды (5.10.2012 - 14:25) sergey_dzen написал(а):
не помогло. всё равно ссылка "/" ведёт в корень сайта
Спустя 4 минуты, 3 секунды (5.10.2012 - 14:29) dron4ik написал(а):
покажи что в папке админ есть.... все папки и файлы.
Спустя 2 минуты, 34 секунды (5.10.2012 - 14:31) sergey_dzen написал(а):
/src
/web
index.php
.htaccess
/web
index.php
.htaccess
Спустя 44 секунды (5.10.2012 - 14:32) dron4ik написал(а):
А как вообще формируются ссылки??? Напрямую прописываются?
Спустя 4 минуты, 43 секунды (5.10.2012 - 14:37) sergey_dzen написал(а):
<a href='/'>ссылка</a>
Спустя 57 секунд (5.10.2012 - 14:38) sergey_dzen написал(а):
да, напрямую
Спустя 1 минута, 59 секунд (5.10.2012 - 14:40) sergey_dzen написал(а):
придётся написать функцию формирования ссылок, чтобы она брала путь(домен, корень и.т.п) и приписывала к нему мой относительный путь ? например я в конфиге завиду $config['root_path']='/admin' а потом везде буду делать link('/news') и получать /admin/news?
Спустя 12 минут, 59 секунд (5.10.2012 - 14:53) dron4ik написал(а):
Да... Архитектура приложения не совсем верная... Нужно или править руцями, или писать функционал!
Спустя 5 минут, 3 секунды (5.10.2012 - 14:58) sergey_dzen написал(а):
[Архитектура приложения не совсем верная] - а как надо сделать "верно"? прилажение пустое, поэтому могу сейчас как нужно, пока не поздно/ т.е. как было бы грамотно работать со ссылками?
Спустя 34 минуты, 15 секунд (5.10.2012 - 15:32) dron4ik написал(а):
http://irbis-team.com/15/4/3
Прочти и повтори...
и было бы полезно прочесть весь http://irbis-team.com... много полезного, и довольно таки грамотно...
Прочти как формировать ядро, MVС
Если пхп ново, то сего сайта для уверенного рывка хватит, это не реклама!)
Прочти и повтори...
и было бы полезно прочесть весь http://irbis-team.com... много полезного, и довольно таки грамотно...
Прочти как формировать ядро, MVС
Если пхп ново, то сего сайта для уверенного рывка хватит, это не реклама!)
Спустя 3 часа, 5 минут, 48 секунд (5.10.2012 - 18:38) sergey_dzen написал(а):
Спасибо, действительно, лучше пройти по азам, явно что-то недопонимаю