В magento admin url слово «admin» встречается дважды. как убрать второй?

8

У меня есть ситуация, когда URL-адрес моего клиента выглядит примерно так;

http://www.example.com/index.php/admin/admin/dashboard/index/key/0981a6bd2f5a06fec85d3c9e297849a0/

слово admin встречается дважды, как убрать одно. Я проверил app / etc / local.xml и в magento admin-> system-> configuration-> admin, в настройках по умолчанию не было никаких изменений.

Примечание: я задавал тот же вопрос на stackoverflow.com, но не получил никакого ответа в течение 3 дней, поэтому я разместил его здесь.

Харис
источник
2
Случайно, у вас есть флаг Use Store Codes in URLустановлен в положение yes?
Мариус
@Marius спасибо за указание. Да, флаг был установлен на «да», и я переключил его на «нет», проблема исчезла. Пожалуйста, напишите это в ответ, чтобы я мог принять это как истинное, а также, пожалуйста, если вы можете дать немного больше времени, чтобы объяснить его использование. поскольку мой клиент также не знал об этом и попросил меня проверить это. Повлияет ли это на рабочий процесс системы после его отключения? из-за этой проблемы некоторые расширения не работали должным образом. В очередной раз благодарим за помощь.
Харис
1
Я добавил свой ответ с некоторыми подробностями о том, как это работает.
Мариус

Ответы:

15

adminДважды появляется в URL , когда у вас есть флаг Use Store Codes in URLустановлен в положение Yes.
Поскольку административная часть на самом деле является представлением магазина с точки зрения Magento, ее код (admin) отображается в URL.
Во второй раз это происходит потому, что adminэто ключ маршрута для контроллеров adminhtml.
Например, если вы измените ключ URL-адреса администратора на backendс System->Configuration->Admin->Admin Base URL->Custom Admin Path, URL будет выглядеть следующим образом http://example.com/admin/backend/controller/action/.
Что касается расширений, которые не работают должным образом, если у вас есть коды хранения в URL, это означает, что они являются плохо написанными расширениями. Поведение расширения должно работать в обоих случаях. Скорее всего, они имеют жестко запрограммированные ссылки где-то в коде.

Мариус
источник
Проблема, связанная с этим параметром URL, заключается в том, что вкладка на странице управления продуктом выдает ошибку 404. где URL вкладки указан как '' url '=> $ this-> getUrl (' имя_модуля / каталог_продукта / имя_ действия ', массив (' _ current '=> true)),' что будет лучшим способом сделать это?
Харис
1
@Saddam. Я был прав. Это плохо написанное расширение. Админ URL должен иметь префикс adminnot module_name. Решение заключается в том, чтобы вписаться здесь. Это включает в себя изменение большого количества кода расширения.
Мариус
4

Попробуй это:

Check the values in /magentofolder/app/etc/local.xml and ensure all is good.
Log in and check the values at System > configuration > Web > Unsecure URL (and Secure URL) - make sure they are good (they should be, otherwise youd not be able to log in very easily.
Go to System > configuration > Advanced > Admin and set the value of use custom admin url to 'No' and remove any values, if any, in the URL box underneath it. Then save config.
If all these settings are correct, and youre seeing admin/admin, then check:

Система> Конфигурация> Общие> Интернет> Параметры URL> Добавить код магазина в URL

Там вы должны установить его значение «Да».

То, что это делает, - это внешний интерфейс, который включает в себя код магазина (на самом деле код представления магазина) по URL-адресу для настроек взаимного хранения, так что вы можете получить доступ к магазину следующим образом: http://xyz.com/index.php/ storecode1 / или http://xyz.com/index.php/storecode2/ ... и т. д.

Но, к сожалению, он также делает это для администратора (у которого есть код хранилища admin) - поэтому путь к вашему администратору теперь называется admin / admin - первый - это код хранилища, а второй - путь для обслуживания приложения. И поэтому некоторые расширения, которые не используют динамический путь URL-адреса администратора, не будут работать - вероятно, вы получите 404, где вы ожидаете, что ваш контент будет находиться в основной части страницы.

Включение второго параметра в этом администраторе («Система»> «Конфигурация»> «Общие»> «Интернет»> «Параметры URL»), т. Е. «Перенаправить на базовый URL, если запрошенный URL не соответствует ему», должен решить все проблемы.

Если проблема по-прежнему не устранена, тогда последним вариантом для ее исправления станет «Нет» для опции «Добавить код магазина в URL».

Мохит Кумар Арора
источник
Спасибо, Мохит, за объяснение. но так как @Marius ответил первым, именно поэтому я принял его ответ как правильный ответ.
Харис