como ocultar o .extensão de arquivo php com módulo de reescrita de URL do IIS

URLs extensíveis no IIS

às vezes é importante remover-ou ocultar – a extensão de arquivo de scripts que você usa. A segurança por obscuridade pode ser esse motivo, se você não quiser que outras pessoas saibam qual idioma de script você está usando para o seu site ou para hosts estáticos do site. Este exemplo ocultará a extensão .php usando o módulo de reescrita de URL do IIS, em uma web pronta para uso.config & .exemplo htaccess.

por que a necessidade de Ocultar extensões de arquivo em URL?

não sou fã de segurança por obscuridade e nunca encontrei isso como resultado de uma verificação de segurança.

segurança por obscuridade é uma razão para ocultar a extensão do arquivo em URL’s, se você não quiser que outras pessoas saibam qual idioma de script você está usando para o seu site. Search Engine Optimization (SEO) é outro motivo válido, ou talvez você só queira ocultar a extensão do arquivo sem motivo aparente.

também não há benefício para SEO, tanto quanto eu sei.

no entanto, você pode usar essa técnica para encurtar um pouco o URL. Ele raspa de quatro a cinco caracteres do URL (“.pai”, “.galeria”, “.aspx”). E alguns dizem que um site tem um desempenho mais rápido porque um servidor da web pode combinar URL sem extensões para pastas (diretórios) mais rápido do que URL com uma extensão para um arquivo.

alguns dizem. Não tenho dados ou mais informações sobre isso.

Ocultar .extensão php com Módulo de reescrita de URL no IIS

aqui está um exemplo de Módulo de reescrita de URL do IIS para você ocultar .extensão php em URL.

essa técnica também é conhecida como Multiviews ou negociação de conteúdo no Apache, e outras a chamam de URLs sem extensão. Veja abaixo um exemplo para usar com .htaccess em IIS.

Sobre MultiViews, ou a negociação de conteúdo:

O efeito de MultiViews é o seguinte: se o servidor recebe uma solicitação para /algum/dir/foo, se /algum/dir tem MultiViews habilitado e /algum/dir/foo não existir, o servidor lê o diretório procurando por arquivos com o nome foo.* , e efetivamente falsifica um mapa de tipo que nomeia todos esses arquivos, atribuindo-lhes os mesmos tipos de mídia e codificações de conteúdo que teria se o cliente tivesse solicitado um deles pelo nome. Em seguida, ele escolhe a melhor correspondência com os requisitos do cliente.

coloque a seguinte reescrita em um arquivo web.config para ocultar o .extensão php no seu URL. bem, o exemplo realmente não se esconde .php do URL, mas isso permite que você use URL sem extensão como www.example.com/index.

o módulo de reescrita de URL do IIS adiciona a parte .php ao URL em segundo plano.

Code language: HTML, XML (xml)

Ocultar extensão para solicitações já contendo um .extensão php

um exemplo mais estendido é redirecionar todas as solicitações com .php no URL para sua variante sem extensão. Então, quando um visitante entra através de /index.php , a extensão é despojada e ele será direcionado para /index.

nossa regra de reescrita mapeia essa solicitação final de volta ao índice.php sem exibir a extensão.

Code language: HTML, XML (xml)

Sempre teste esses exemplos antes de colocá-lo em produção.

emular Multiviews Apache no IIS usando um .arquivo htaccess e Helicon Ape

se você usar .htaccess no IIS você pode criar o mesmo efeito Multiviews para ocultar o.extensão php. Para que isso aconteça, você deve declarar algumas condições de reescrita e reescrever regras (RewriteCond e RewriteRule). A parte legal é que isso também deve funcionar com Linux, Apache e mod_rewrite, tornando esta solução multiplataforma!

Multivisualizações .exemplo htaccess
em seu arquivo .htaccess, adicione a seguinte configuração de reescrita:

Code language: Apache (apache)

.regras htaccess explicação:
o primeiro bloco de código usa duas verificações RewriteCond para verificar se o URL é ou não um arquivo ou pasta. Isso é mais completo, claro e rápido do que criar uma exceção para cada tipo de arquivo possível. O RewriteRule reescreve o URL-que na maioria das vezes não contém uma extensão de arquivo – para um arquivo PHP com esse nome.

O padrão ^(+)(?:/(.+))?$ é explicado da seguinte maneira:

  1. O delimitador de caracteres ^ e $ marca o início e o fim da seqüência de caracteres; que impede que a regra a partir de, por vezes, a correspondência de apenas uma parte do URL
  2. grupo (+) corresponde ao nome do arquivo PHP como . E ele encontra todos os personagens até uma barra, ou o fim da seqüência de caracteres
  3. O bloco (?:/(+).)? tenta encontrar uma barra, seguido por outros personagens, e guarda-o como

A substituição de .php?(?2p=) utiliza um condicional de referência:

  • A seqüência de caracteres de consulta é preenchido com p= se existe.

Finalmente, é adicionada uma regra que oculta o.extensão php.

isso impede que um mecanismo de pesquisa encontre conteúdo duplicado e, portanto, evita uma penalidade para a posição do seu site nos resultados da pesquisa.

existem outras maneiras também.

remover .extensão php com .htaccess de URLs

para remover o.extensão php de um URL com .htaccess, você pode salvar o seguinte em um novo .arquivo htaccess:

Code language: Apache (apache)
Code language: Apache (apache)

ou use MultiViews:

Code language: Apache (apache)

isso remove a extensão, tornando os URLs mais fáceis de usar e-alguns dizem – seo search engine friendly. Use o que funciona melhor para você e adicione uma meta tag canônica em sua cabeça HTML para evitar conteúdo duplicado (quando apropriado).

Olá, chamo-me Jan. Eu não sou um hacker, codificador, desenvolvedor ou guru. Eu sou apenas um administrador de Sistemas, fazendo minha coisa diária em Vevida ( parte de Yourhosting) / CLDIN.

se você quiser uma experiência de site mais ad-e rastreamento-livre, por favor BackMe com uma pequena doação (backme.org) ou Paypal.

Compartilhar é cuidar

Write a Comment

O seu endereço de email não será publicado.