Opencart 3 index.php?route=common/home redirect • freelance job for a specialist • category PHP ≡ Client Daniil Den
5 of 5
project complete
publication
open for proposals
terms confirmation
work ongoing
project complete
The project was translated automatically. Show original
The project shown in original language. Translate
Now the main redirect from site.com to site.com/index.php?route=common/home
You have to do the opposite.
In .htaccess redirect from site.com to site.com/index… not prescribed where it came from is unclear 🙂
Сейчас главная редиректит с site.com на site.com/index.php?route=common/home
Нужно сделать наоборот.
В .htaccess редирект с site.com на site.com/index… не прописан, откуда он взялся не понятно 🙂
Client’s feedback on cooperation with Aleksandr L.
Opencart 3 index.
Quality
Professionalism
Price
Availability
Terms
Александр — отличный исполнитель. Сделал все быстро и качественно, всегда на связи. Рекомендую к сотрудничеству как отличного программиста.
Freelancer’s feedback on cooperation with Daniil Den
Opencart 3 index.php?route=common/home redirectPayment
Task formulation
Requirements
Availability
Всё без проблем, быстро и чётко.
Спасибо замечательному заказчику!
Aleksandr L.
Publish a similar project
The client does not want to make a prepayment? Payment via Safe help avoid possible fraud.
- Proposals 15
- Withdrawn 1
date online rating cost time to complete
1 day200 UAH
1 day200 UAH
Здравствуйте! Там проблема в модуле СЕО, его нужно настроить либо подключить.
Ссылку на сайт скиньте
1 day200 UAH
1 day200 UAH
Здравствуйте, обращайтесь, уберу!!!
Здравствуйте, обращайтесь, уберу!!!
Здравствуйте, обращайтесь, уберу!!!
Здравствуйте, обращайтесь, уберу!!!Winning proposal1 day200 UAH
Winning proposal1 day200 UAH
Здравствуйте!
Обращайтесь, сейчас исправлю.
Opencart — моя специализация.
——————
Александр1 day200 UAH
1 day200 UAH
Здравствуйте! Большой опыт работы с Opencart.
Готов сразу приступить к работе
index.php?route=common/home — это дефолтный путь без сео плагина. Исправлю в кратчайшие сроки
proposal concealed by freelancer
freelancer isn’t working in the service any longer
proposal concealed by freelancer
1 day200 UAH
1 day200 UAH
пишите сдлеаю, пишите сделаю пишите сдлеаю, пишите сделаю пишите сдлеаю, пишите сделаю
1 day200 UAH
1 day200 UAH
оно по умолчанию в опенкарт так.
proposal concealed by freelancer
proposal concealed by freelancer
proposal concealed by freelancer
-
1 day200 UAH
1 day200 UAH
Сделаю
proposal concealed by freelancer
freelancer isn’t working in the service any longer
proposal withdrawn
2 years ago
133 views
перенаправление — .

Вышеперечисленное перенаправляет следующим образом, сохраняя запрошенный протокол и имя хоста:
-
/index.php
на/
-
/foo/index.php
до/foo/
-
/foo/bar/index.php
до/foo/bar/
-
/fooindex.php
— НЕТ ПЕРЕНАПРАВЛЕНИЯ (ожидается 404) -
/foo/index.php/bar
(содержит информацию о пути) на/foo/
(информация о пути удалена) -
/foo/index.phpbar
— НЕТ ПЕРЕНАПРАВЛЕНИЯ (ожидается 404)
Группа захвата (необязательно) (.*/)?
содержит часть URL-пути до index.php
. Это затем доступно в строке замены с использованием обратной ссылки $1
. В случае, когда в корне документа запрашивается /index.php
, это пустой
subdir/
, включая завершающую косую черту.
Если у вас нет других директив в вашем файле .htaccess
, вам не нужно строго условие , которое проверяет переменную среды REDIRECT_STATUS
. Это условие гарантирует, что перенаправляются только прямые запросы в случае, если у вас есть шаблон переднего контроллера позже в файле, который может переписать запросы на index.php
.
Если в файле есть другие директивы, порядок может быть важен. Это правило, которое удаляет index.php
через внешнее перенаправление должно идти до любых существующих перезаписей, в верхней части файла.
Обратите внимание, что это удаляет index.php
из URL-адреса независимо от того, действительно ли запрошенный URL-адрес отображается в реальный файл или существует ли предыдущий URL-путь как физический каталог. Итак,
/<что-то>/index.php
перенаправляется на /<что-то>/
независимо от того, является ли /<что-то>/
физическим каталогом или нет.
NB: Сначала проверьте с 302 (временной) переадресацией, чтобы избежать потенциальных проблем с кэшированием. Меняйте редирект на 301 (постоянный) только после того, как вы проверили, что он работает должным образом.
ОБНОВЛЕНИЕ №1:
Эти вопросы не дают ответа:
На самом деле, первый вопрос, который вы связали с ,
отвечает на ваш вопрос об удалении index.php
из запрошенного URL. Он делает адресных подкаталога и перенаправляет example.tld/dir/index.php
— example.tld/dir/
(а не example.tld/
, как вы сказали).Часть вопроса, в которой обсуждаются субдомены, немного вводит в заблуждение, поскольку на самом деле не имеет ничего общего с субдоменами.
Решение, представленное в связанном вопросе, в основном делает то же самое, что я сделал выше, за исключением того, что оно, возможно, слишком много (и недостаточно). Это будет неправильно/ненужно перенаправлять
/fooindex.php
на /foo
(без косой черты в конце) и не сможет перенаправить URL-адреса, содержащие информацию о пути (что может быть вредоносным). например. /foo/index.php/bar
не сможет перенаправить, но по-прежнему будет обслуживать содержимое
/foo/index.php
(если только AcceptPathInfo
не отключен). Хотя действительно ли эти «ошибки» вызовут проблему в вашем случае, это другой вопрос.ОБНОВЛЕНИЕ №2:
у меня код точно в директории на 9|/)индекс\.php(/|$) /%1 [R=301,L]
Обратная ссылка
%1
(в отличие от$1
) относится к захваченной группе в предыдущем CondPattern . Это, естественно, включает в себя полный URL-путь, поэтому вам не нужно жестко кодировать каталог, в котором находится файл.htaccess
.Это относится к каталогу, который содержит файл
.
и любые его подкаталоги. Обратите внимание, что по умолчанию это полностью переопределяет любые директивы mod_rewrite, которые могут присутствовать в родительскомhtaccess
.htaccess
файл (директивы mod_rewrite по умолчанию не наследуются).…включая подкаталоги, которые могут иметь свои собственные .htaccess и index.php.
Если в дополнительных подкаталогах есть собственный файл
.htaccess
, то это может работать или не работать в зависимости от директив, используемых в этих файлах.htaccess
подкаталога и/или от того, как настроено наследование mod_rewrite.Директивы mod_rewrite не наследуются по умолчанию. Итак, если
.htaccess
в подкаталоге включает механизм перезаписи, тогда указанные выше директивы mod_rewrite в родительском каталоге будут полностью переопределены (они даже не обрабатываются).Если, с другой стороны, файл
.htaccess
в подкаталоге использует директивы из других модулей, это может не быть проблемой.apache — Конфликт с перенаправлением на index.php и папку
Задавать вопрос
спросил
Изменено 4 года, 9 месяцев назад
Просмотрено 965 раз
Я арендую веб-сервер Apache. Архитектура папки такая:
- корень
- источник
- шаблон
- меньше
- www
- CSS
- js
- jpeg
Веб-сервер обслуживает только каталог
www
. И я использую .htaccess для перенаправления на HTTPS, удаляюwww.
и перенаправить все запросы наindex.php
, за исключением случаев, когда файл существует в папкеwww
.www\.domain\.com$ [NC] RewriteRule (.*) https://domain.com%{REQUEST_URI} [R=301,QSA,NC,L] # Перенаправить весь маршрут на index.php # Кроме файлов RewriteCond %{REQUEST_FILENAME} !-f RewriteRule (.*) /index.php?$1/ [NC,L,QSA]
Проблема в том, когда я запрашиваю имя папки. Папка дважды перенаправляется на
index.php
!Пример: Когда я запрашиваю
http://domain.com/css
, запрос перенаправляется наhttps://domain.com/index.php?css/?css/
.Как решить двойную переадресацию?
- апач
- .htaccess
- перенаправление
1
Вам необходимо либо исключить каталоги из вашего последнего правила, либо добавить завершающую косую черту, используя правило перенаправления к каталогам, чтобы избежать такого поведения
В противном случае последнее правило переписывает каталоги без косой черты на
/index.php
и из-за отсутствия косой чертымодуль mod_dir
перенаправляет, добавляя завершающую косую черту.