Редирект при заходе на страницу по GET id.
Всем привет, пытался найти решение этой задачи в интернете, но там тонна других редиректов, а вот такого нет.
Допустим мы заходим на страницу по modx.com/?id=123 и получаем modx.com/company/media-center/news-releases/modx-evolution-1.0.3/ как сделать аналогичное?
В htc указано:
Допустим мы заходим на страницу по modx.com/?id=123 и получаем modx.com/company/media-center/news-releases/modx-evolution-1.0.3/ как сделать аналогичное?
В htc указано:
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Комментарии: 13
в системных настройках modx включены дружественные урл?
htc правильно называется — ".htaccess", лежит в корне?
на локальных серверах может не работать.
htc правильно называется — ".htaccess", лежит в корне?
на локальных серверах может не работать.
Да и это не локальная проблема.
в .htaccess есть такие строчки?
RewriteEngine On
RewriteBase /
Да.
а если прописать запрет на открытие целиком — запрет отрабатывается?
может быть просто сам htaccess игнорируется в этой папке?
может быть просто сам htaccess игнорируется в этой папке?
Я м.б. не понимаю, а как бы ЧПУ работало без htaccess?
Единственное я его не обновлял долгое время, возможно проблема в этом.
Гляну разницу.
Единственное я его не обновлял долгое время, возможно проблема в этом.
Гляну разницу.
если найдете решение, сообщите пожалуйста
Оно ниже плагин на событие OnWebPageInit от Василия.
Допустим мы заходим на страницу по modx.com/?id=123 и получаем modx.com/company/media-center/news-releases/modx-evolution-1.0.3/ как сделать аналогичное?
Это решается элементарным плагином:
<?php
if ($modx->event->name == 'OnWebPageInit' && !empty($_GET['id'])) {
$id = (int)$_GET['id'];
if ($modx->getCount('modResource', array('id' => $id, 'published' => 1, 'deleted' => 0))) {
$modx->sendRedirect($modx->makeUrl($id));
}
}
Писал без проверки, могут быть опечатки, но принцип должен быть понятен.
Спасибо Василий, видать дело не в htaccess.
Глянул modx.pro/?id=6538 и он не перешел на modx.pro/help/6538/
Глянул modx.pro/?id=6538 и он не перешел на modx.pro/help/6538/
Я вот даже не могу представить, а зачем мне включать такой плагин?
Ссылка по id никогда не переедет и не поменяет свое название, именно для этих целей использую такой формат ссылок в контенте т.к. он статичен и не будешь все время менять ссылку, если вдруг что изменилось.
Код работает :)
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.