Вопрос использования либы - архитектурное решение. Если новичку с каждым ответом будут советовать либы, его учебный проект станет рассадником проблем и основы он освоит не скоро. Кроме того, использование ангуляра без знаний об ангуляре может тоже вылиться в горы ... вопросов на тостере или того же js кода. Нет, ваше решение, конечно, хорошее, но всё-таки.
для того чтобы использовать .htaccess на нижнем уровне (в ~/a/b), нужно чтобы роут проходил через этот путь(при абсолютных ссылках этого не происходит). А чтобы использовать на верхнем уровне (в корневом каталоге), htaccess'у нужно знать про все ссылки, на которые ссылался ваш сайт прежде, чтобы перенаправить их на /a/b, но при этом не перенаправлять ничего лишнего. Не думаю, что проблема решаема htaccess'ом
тогда создайте поддомен или возьмите ещё один домен, раз произошло такое разделение. И укажите для основного домена /var/www/your_domain , а для вашего сайта в настройках поддомена "/var/www/your_domain/a/b". Я себе плохо представляю абсолютный путь, который идёт по your_domain/a/b так же, как шёл раньше по your_domain, без переноса DocumentRoot, при том что your_domain тоже будет работать как ни в чём не бывало. Как же он различит, куда ему ходить
Это значит что не коммитит транзакцию. Первый признак -такое поведение. Попробуйте ее вообще убрать пока тестируете.
А вообще я вас очень прошу помогать разбираться в собственном вопросе другим людям. Непонятно же, что вы тестировали а что нет, и ошибки порой бывают совсем глупые, приходится включать капитана очевидность и пытаться разобраться в вопросе очень издалека. Вы предоставили простыню из кода, и хоть беги у себя на серваке воссоздавай(
и еще вопрос - в CategoryController вы выполняете $category_translate->load
потом $category_translate вручную перезаписываете language_id из POST, это для уверенности?
как много всего и мало полезной информации. Судя по ошибке, проблема заключается в попытке вставить нулевой id, а это делается в строке $category_translate->language_id = $_POST['CategoryTranslate']['language_id'];
и выглядит она весьма сомнительно.
Поставьте, пожалуйста, breakpoint в этом месте и посмотрите содержимое $_POST['CategoryTranslate']['language_id']
лимит выполнения скрипта - штука настраиваемая.
С практической стороны вопрос сформулирован неверно, да; но кто-то может искать ответ именно на этот вопрос, и ваш ответ может сбить с толку. Поэтому ради чистой совести оставляю комментарий)
скрипт НЕ прервет выполнение после закрытия странички. попробуйте поиграться с
кодом типа
sleep(1);
file_put_contents("fff.txt","1");
sleep(1);
file_put_contents("fff1.txt","1");
sleep(1);
file_put_contents("fff2.txt","1");