16 апреля 2024 года вышли релизы Joomla 5.1 и Joomla 4.4.4. Если Joomla 4.x уже находится в режиме поддержки и получает только "заплатки", то в каждом выпуске Joomla 5.x появляется что-то новое. Краткий список был опубликован в недавней новости. Давайте посмотрим подробнее на то что же именно появилось в Joomla 5.1.
Для этого я вклинился в components/com_content/router.php и там начал писать свой код в build и parse. Код отрабатывает, я возвращаю то, что нужно. Но в итоге не работает: при вводе "https://mysite.ru/bugaga" переход происходит на главную страницу сайта.
Может вообще я не должен вклиниваться в код Joomla для этого? Может надо в .htaccess? Или надо в index.php?
запустив mysite.ru/other/script.php?taram=1¶m=2 ничего не произойдёт ибо запустится файл /other/script.php, а не /index.php[/size]
настроить правила преобразования урл через htacces[/size][size=78%][/size][/color]
Как же быть?
Развлекаться:1. http://www.visiospark.com/mod-rewrite-rule-generator/2. http://www.generateit.net/mod-rewrite/index.phpНо лучший вариант это использовать компонент для всего этого!
RewriteEngine OnRewriteRule ^([^/]*)$ /profile.php?id=$1 [L]
не сработает, т.к. по сути сделает редирект, в итоге получится ошибка 404, т.к папки /vasya реально не существует
function checkUserAccount(){ $p=strtolower(preg_replace('#//+#','/',$_SERVER['REQUEST_URI'])); if (strlen($_SERVER['QUERY_STRING'])) $p=substr($p,0,-(strlen($_SERVER['QUERY_STRING'])+1)); if (count($pa=explode('/',$px=trim($p,'/'),2))<2) $pa[]=''; if ((count($pa) >= 1) and ($pa[0] является аккаунтом)) { $_GET['id'] = $pa[0]; include './profile/index.php'; return true; } return false;}
Очень помогла статья http://gency.ru/single-entry-point
Вклинился в корневой файл index.php, вставил вызов функции (при true сразу выхожу из index.php):