alepavlenko: У меня есть сайт на Magento в папку установил wordpress "нужно добавить пару десятков новостей" ссылки на эти новости будут постится в карточках товаров, и надо скрыть все страницы кроме site.ru/blog/статья
Как то так
/** * Функция выполнения редиректа на главную для не записей * применяется к хук-событию template_redirect */ function theme_action_template_redirect() { if (!is_single()) { wp_redirect('/', 301); exit; } } add_action('template_redirect', 'theme_action_template_redirect');
вставьте этот код в functions.php темы или в плагин
miketomlin,только он обязательно нужен... Параметр categoryID я показал для пример.. Там много разных параметров и много других файлов, это не только index.php?params, но и filter.php?params, shop.php?params и т.д. именно поэтому я использовал SCRIPT_FILENAME, а не просто "__DIR__ . '/index.php'".
Во втором решении от jkm я понял как реализовать.
Немного подкорректировал под свои нужды, получилось так:
---------- Добавлено 29.02.2020 в 13:12 ----------
SocFishing: Слишком мудреная тема использовать названия файла .php с параметрами, так как расширения вебсервер хватает как php. В данной ситуации проще всего конвертнуть все файлы в нормальный вид и использовать.
2 RewriteCond и 1 RewriteRule и все отлично. Спасибо, jkm!
SeVlad, какие не будут редиректиться?
У меня есть сайт на Magento в папку установил wordpress "нужно добавить пару десятков новостей" ссылки на эти новости будут постится в карточках товаров, и надо скрыть все страницы кроме site.ru/blog/статья
Как то так
вставьте этот код в functions.php темы или в плагин
Favero, какого вида нужна помощь, в чем вопрос?
Постоянно обмениваю Яндекс.Деньги на Вебмани у Степы. Всё отлично! Спасибо!
miketomlin,только он обязательно нужен... Параметр categoryID я показал для пример.. Там много разных параметров и много других файлов, это не только index.php?params, но и filter.php?params, shop.php?params и т.д. именно поэтому я использовал SCRIPT_FILENAME, а не просто "__DIR__ . '/index.php'".
Во втором решении от jkm я понял как реализовать.
Немного подкорректировал под свои нужды, получилось так:
Это глобальная настройка на все сайты..
Не понимаю зачем вы используете $_SERVER['SCRIPT_FILENAME']
Так вот пример,
$file = __DIR__.'/'.$_SERVER['QUERY_STRING'];
Получится "папка/categoryID=12" - это не подходит. Плюс используя "__DIR__" вы делаете такую возможность:
https://test.ru/test.php?../../../../etc/passwd
Со "SCRIPT_FILENAME" такое не пройдет.
---------- Добавлено 29.02.2020 в 13:12 ----------
Слишком мудреная тема использовать названия файла .php с параметрами, так как расширения вебсервер хватает как php. В данной ситуации проще всего конвертнуть все файлы в нормальный вид и использовать.
2 RewriteCond и 1 RewriteRule и все отлично. Спасибо, jkm!
jkm, спасибо! То, что нужно.
---------- Добавлено 29.02.2020 в 11:09 ----------
RewriteCond %{REQUEST_FILENAME}?%{QUERY_STRING} -f
RewriteRule (.+) /$1\%3F%{QUERY_STRING}? [L]
Что тут "/$1\%3F%{QUERY_STRING}?" происходит?
---------- Добавлено 29.02.2020 в 11:22 ----------
Я понял. "%3F" - это код вопросительного знака. Не используется знак "?", чтобы не было воспринято как передача GET-параметров в исполняемый php файл?
А когда происходит замена "%3F" на вопросительный знак?
Как понять? Какое имя файла на диске?
именно "index.php?categoryID=12".
ivan-lev, да.
так как получить нечто подобное стандартными методами невозможно: "Главная -> рубрика1, рубрика2, рубрика3 -> страница статьи".
Возможно. https://wp-kama.ru/function/get_the_term_list
Постоянно пользуюсь услугами ТСа по обмену Яндекс.Деньги на Вебмани. Всё отлично!