Usando '/ profiles' em um alias de URL

8

O caminho '/ profiles' existe como uma pasta física na raiz de uma instalação do Drupal, o que significa que adicionar um alias de URL para um conteúdo a '/ profiles' não funcionará - um erro 403 é o resultado.

Para minha sorte, para um projeto em particular, tenho um parceiro de SEO me dizendo que usar esse caminho específico é uma necessidade absoluta e categórica; não ter isso seria uma prova de que a previsão do dia do juízo final de Myan é de fato precisa, todos nós morreremos lentamente, etc., etc.

Então, eu vou adiante e coloco essa questão um pouco ridícula nas massas para ver se alguém encontrou uma maneira criativa de resolver esse problema antes ...

Como posso usar '/ profiles' (e '/ profiles / *' etc.) como aliases de URL, mantendo uma instância do Drupal totalmente funcional e com capacidade de atualização?

É importante ressaltar que estamos usando o módulo Global Redirect, com as opções 'De-slash' e 'Non-clean to clean' ativadas (e elas precisam permanecer assim).

Clive
fonte
Nunca fiz isso, portanto, um comentário e não uma resposta, mas como não há nada normalmente navegável em / profiles, acho que sua melhor aposta é adicionar um RewriteRule para alterar o URL solicitado para outro caminho base. Isso deve levar você ao problema / profile. Você provavelmente precisará alterar de entrada para remapear novamente para / profile.
mpdonadio
4
Provavelmente, essa é uma pergunta boba, mas não poderíamos colocar "RewriteRule ^ profiles /(.*) /index.php?q=profiles/$1" na parte superior do arquivo htaccess para reescrever todas as solicitações de / profiles para indexar ? php q = profiles /% ou seria isto causa problemas com as atualizações de segurança /
James
@MPD Parece promissor, eu já tentei, mas não consegui fazer nada funcionar
Clive
11
Como seu site foi instalado? é do perfil padrão ou está usando algum tipo de distribuição que possui seu perfil de instalação e módulos no diretório profiles?
Marek Sotak
11
@ James funciona para mim :) tente adicionar uma resposta e ganhe +500!
Kalabro

Respostas:

11

1) .htaccess (antes da linha 100):

RewriteRule ^profiles($|/(.*)) /index.php [L]

2) VirtualHost (para configuração de redução de barra):

<Location /profiles>
     DirectorySlash Off
</Location>

A segunda parte é necessária apenas se você usar o Redirecionamento Global "de-slash".

kalabro
fonte
Impressionante, a DirectorySlash Offdiretiva parece ter feito o truque. Obrigado :)
Clive
11
Brilhante. Bem merecedor da recompensa.
mpdonadio