Pergunta

Nós apenas ligado ao nosso novo site redesign.

Nós temos uma cópia do anterior em um "v1" pasta e o novo é em "v2". Eu jogo com 2 arquivos .htaccess. O arquivo está organizado como tal:

root
 L .htaccess (1)
 L v1
 L v2
    L .htaccess (2)

.htaccess 1 faz 2 coisas:

  • remover o www fora da URI
  • redireciona todos os pedidos de v2 /

As regras são:

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

RewriteCond %{REQUEST_URI} !^/v2/ [NC]
RewriteRule ^(.*)$ /v2/$1 [NC,L]

Agora, eu tenho URLs específicos que são bem indexados. Por exemplo: example.com/pixflow /

Gostaria de redirecionamento 301 para example.com/projects/pixflow1/ (o que significa fisicamente example.com/v2/projects/pixflow1 /)

Para conseguir isso, eu coloquei no .htaccess 1:

RewriteRule ^pixflow/$ http://%{HTTP_HOST}/projects/pixflow1/ [L,R=301]

Mas que não funciona, ele retorna 404. O que estou fazendo de errado?

Foi útil?

Solução

Você pode apenas indicar o caminho de URL absoluto para o substituto:

RewriteRule ^pixflow/$ /projects/pixflow1/ [L,R=301]

Mas o seu deve funcionar também.

Outras dicas

parece colocar isso no .htaccess (1) funciona:

RewriteRule ^pixflow/$ http://domain.com/projects/pixflow1/ [L,R=301]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top