No URL de administração do magento, a palavra "admin" ocorre duas vezes. como remover o segundo?

8

Eu tenho uma situação em que o URL do administrador do meu cliente é algo como isto;

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

a palavra admin ocorre duas vezes, como remover um. Eu verifiquei app / etc / local.xml e no magento admin-> system-> configuration-> admin, não houve alterações na configuração padrão.

Nota: Fiz a mesma pergunta no stackoverflow.com, mas não obtive resposta em 3 dias, por isso foi publicado aqui.

Haris
fonte
2
Por acaso, você tem o sinalizador Use Store Codes in URLdefinido yes?
Marius
@ Marius obrigado por apontar. Sim, o sinalizador foi definido como sim e eu o virei para não, o problema agora se foi. Por favor, escreva-o em resposta para que eu possa aceitá-lo como verdadeiro e também, por favor, se você puder dar um pouco mais de tempo para explicar seus usos. como meu cliente também não estava ciente disso e me pediu para verificar. isso terá algum efeito adverso no fluxo de trabalho do sistema depois que eu o desabilitar? devido a esse problema, algumas extensões não estavam funcionando corretamente. Obrigado novamente por sua ajuda.
Haris
11
Eu adicionei minha resposta com alguns detalhes sobre como ele funciona.
Marius

Respostas:

15

A adminaparece duas vezes na url quando você tem a bandeira Use Store Codes in URLconjunto para Yes.
Como a seção admin é realmente uma visão da loja do ponto de vista do Magento, seu código (admin) é mostrado no URL.
A segunda vez que aparece é porque adminé a chave de rota para os controladores adminhtml.
Por exemplo, se você alterar a chave do URL do administrador para backendde System->Configuration->Admin->Admin Base URL->Custom Admin Path, o URL será parecido http://example.com/admin/backend/controller/action/.
Quanto às extensões que não estão funcionando corretamente se você tiver os códigos de loja em URLs, isso significa que são extensões gravadas incorretamente. O comportamento da extensão deve funcionar nos dois casos. Provavelmente, eles têm URLs codificados em algum lugar do código.

Marius
fonte
O problema devido a essa configuração de URL é que uma guia na página de gerenciamento de produtos está apresentando um erro 404. onde a URL da guia é especificada como '' url '=> $ this-> getUrl (' module_name / catalog_product / action_name ', array (' _ current '=> true))', qual seria a melhor maneira de fazer isso?
Haris 24/10
11
@ Saddam. Eu tinha razão. Esta é uma extensão mal escrita. O URL do administrador deve ser prefixado com adminnot module_name. A solução é muito ampla para caber aqui. Isso envolve alterar muito do código da extensão.
Marius
4

Tente o seguinte:

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:

Sistema> Configuração> Geral> Web> Opções de URL> Adicionar código de loja ao URL

Lá você deve ter definido seu valor 'Sim'.

O que isso faz é no front-end, que inclui o código da loja (na verdade, o código de exibição da loja) no URL para configurações da loja mutli, para que você possa acessar uma loja como esta: http://xyz.com/index.php/ storecode1 / ou http://xyz.com/index.php/storecode2/ ... etc.

Mas, infelizmente, isso também é feito para o administrador (que possui o código de loja admin) - portanto, o caminho para o seu administrador agora é admin / admin - o primeiro é o código da loja, o segundo é o caminho para atender ao aplicativo. E assim, algumas extensões que não usam o caminho dinâmico do URL do administrador não funcionarão - provavelmente você receberá um 404 onde espera que seu conteúdo esteja no corpo principal da página.

Ativar a segunda opção nesse administrador (Sistema> configuração> Geral> Web> opções de URL), ou seja, "Redirecionar para URL base se o URL solicitado não corresponder a ele" deve solucionar todo o problema.

Se ele ainda não resolver o seu problema, então a última opção para corrigi-lo é a opção 'Não' para 'Adicionar código de loja aos URLs'.

Mohit Kumar Arora
fonte
Obrigado Mohit por explicar. mas como @Marius respondeu primeiro, é por isso que aceitei a resposta dele como resposta correta.
Haris