Pergunta

Eu só quero obter um redirecionamento rápido do htaccess.ou seja:

domain.com/subfolderGreen --> domain.com/index.php?folder=subfolderGreen

(observe que a subpastaVerde realmente existe)

Tenho tentado, mas não consegui chegar ao regex necessário.

obrigado.a.

ADICIONADO:

Desculpe, eu quero que isso funcione para qualquer subpasta, não apenas "subfolderGreen" Estou usando

RewriteRule ^/([^/]+)/?$ /index.php?folder=$1 [L]

mas não está funcionando.alguma pista?

Foi útil?

Solução

Eu acho que seu exemplo causaria um loop infinito, já que /index.php corresponde ao que você está fazendo.Experimente isto:

RewriteRule ^([A-Za-z0-9]+)/?$ /index.php?folder=$1 [L]

Se você quiser que funcione para todos os diretórios existentes, provavelmente também funcionará.

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)/?$ /index.php?folder=$1 [L]

Outras dicas

RewriteRule ([^/]+)$ index.php?folder=$1

Acho que isso resolverá o problema.

RewriteRule tem alguns problemas confusos quando usado em .htaccess, que requer a adição de um RewriteBase.

Que erros/problemas você está vendo?Se você quiser ter certeza de como está redirecionando, adicionar um [R] geralmente pode ajudar na depuração.

Finalmente...a subpastaVerde realmente existe ou não?Se existir, isso pode causar alguns problemas.

Eu acredito que é:

RedirectMatch 301 domain.com/(.*) domain.com/index.php?folder=$1
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(([^/\ ]+/)*)/+([^\ ]*)
RewriteRule ^ /%1%3 [L,R=301]
RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L]

A linha 2 cuidará do caso se alguém acessar website.com/mypage///// então o padrão é website.com/mypage/ (eu acho)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top