Как подменить url адрес без редиректа?

244
13 сентября 2018, 09:30

Мне на сайте нужно при переходе по /catalog/4-maslichnye_kultury/new/semena_ryzhika_ozimogo_sort_adamas.html, чтобы редиректило на /catalog/4-maslichnye_kultury/semena_ryzhika_ozimogo_sort_adamas.html . Но в url адрес должен оставаться прежний. Как такое осуществить? Пробовал вставлять в конец:

RewriteRule /catalog/4-maslichnye_kultury/new/semena_ryzhika_ozimogo_sort_adamas.html /catalog/4-maslichnye_kultury/new/semena_ryzhika_ozimogo_sort_adamas.html [L] # L

но это не помогает, вообще никакой реакции. Вот сам htaccess:

AddDefaultCharset windows-1251
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_URI} !/css/
RewriteCond %{REQUEST_URI} !/images/
RewriteCond %{REQUEST_URI} !/upload/
RewriteCond %{REQUEST_URI} !/js/
RewriteCond %{REQUEST_URI} !/mod/
RewriteCond %{REQUEST_URI} !/inc/
RewriteCond %{REQUEST_URI} !/admin
RewriteCond %{REQUEST_URI} !/min/
RewriteCond %{REQUEST_URI} !/fonts/
RewriteCond %{REQUEST_URI} !/404.html
RewriteCond %{REQUEST_URI} !/basket.php
RewriteCond %{REQUEST_URI} !/image.php
RewriteCond %{REQUEST_URI} !/robots.txt
RewriteCond %{REQUEST_URI} !/favicon.ico
RewriteRule ^(.*)$ index.php [L,QSA]
RewriteRule ^.htaccess$ - [F]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro 
RewriteRule ^.*$ - [F]
ErrorDocument 404 /404.html
Answer 1

Вам нужно заменить этот фрагмент на

RewriteCond %{REQUEST_URI} !/css/
RewriteCond %{REQUEST_URI} !/images/
RewriteCond %{REQUEST_URI} !/upload/
RewriteCond %{REQUEST_URI} !/js/
RewriteCond %{REQUEST_URI} !/mod/
RewriteCond %{REQUEST_URI} !/inc/
RewriteCond %{REQUEST_URI} !/admin
RewriteCond %{REQUEST_URI} !/min/
RewriteCond %{REQUEST_URI} !/fonts/
RewriteCond %{REQUEST_URI} !/404.html
RewriteCond %{REQUEST_URI} !/basket.php
RewriteCond %{REQUEST_URI} !/image.php
RewriteCond %{REQUEST_URI} !/robots.txt
RewriteCond %{REQUEST_URI} !/favicon.ico

на

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

чтобы правило обработки всех несуществующих в файловой системе адресов обрабатывалось index.php.

Работающий .htaccess:

AddDefaultCharset windows-1251
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^catalog/4-maslichnye_kultury/new/semena_ryzhika_ozimogo_sort_adamas.html /catalog/4-maslichnye_kultury/new/semena_ryzhika_ozimogo_sort_adamas.html [NC,L]
# Не учитываем существующие файлы и директории
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
RewriteRule ^.htaccess$ - [F]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro 
RewriteRule ^.*$ - [F]
ErrorDocument 404 /404.html
READ ALSO
Как скрыть заголовок записи?

Как скрыть заголовок записи?

Следуя из этой темы Все же задамся вопросомКакой код следует добавить чтобы скрыть заголовок в плагине? Задано отображение текста вместо...

252
Получить значение из array [закрыт]

Получить значение из array [закрыт]

Требуется получить [$email] из [props] => Array

231
Баг при быстром прокручивании Infinite scroll

Баг при быстром прокручивании Infinite scroll

Внедрил Infinite Scroll на своем сайте для просмотра товаровВроде все работает, но при быстром скролле загружаются повторные товары и т

231
PhpQuery, как бороться с пробелами при выводе?

PhpQuery, как бороться с пробелами при выводе?

Есть сайт, с которого я, с помощью библиотеки phpQuery, тащу артикул и ценуМоя строка кода, которая вытаскивает нужную цену:

234