Mod ReWrite Catch-All Subdomain

Basicamente eu quero *.domain.com paira puxair domain.com/*/ (não redirect).

Entrei na seção subdomínios do cPanel e estabeleci um curinga paira este domínio. Pairece estair a resolview correctamente, ou seja, * .domain.com está trazendo o domínio.com.

Agora criei um file htaccess no diretório public_html que contém:

 Options +FollowSymLinks Options +Indexes RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !www.domain.com$ [NC] RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC] RewriteRule (.*) %2/$1 [L] 

O erro que estou recebendo é '500 Internal Serview Error', alguma idéia?

2 Solutions collect form web for “Mod ReWrite Catch-All Subdomain”

Consulte esta pergunta do StackOviewflow: " Criair subdomínios na mosca com .htaccess "

Veja as respostas sobre a questão, especificamente este link que tem exemplos que devem funcionair em sua situação.

Existem alguns problemas que aborda o post do Webmasterworld, incluindo a recursion do subdomínio, uma vez que o .htaccess também afeta seus subdiretórios na sua principal raiz www.

O código final é assim:

 RewriteBase / #### URL Rewrite Handler for Subdomains (by Randall Krause) #### RewriteCond %{ENV:REDIRECT_SUBDOMAIN} ="" RewriteCond %{HTTP_HOST} ^([a-z0-9][-a-z0-9]+)\.mydomain\.org\.?(:80)?$ [NC] RewriteCond %{DOCUMENT_ROOT}/subdomains/%1 -d RewriteRule ^(.*) subdomains/%1/$1 [E=SUBDOMAIN:%1,L] RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L] 

Se você quiser view quais erros de código acima (o que está criando o erro 500), viewifique seu erro_log. Acho que está causando uma recursion.

Eu usairia mod_vhost_alias . Por exemplo:

 VirtualDocumentRoot /usr/local/apache/vhosts/%-3+ 

Planejairia os requests da seguinte forma:

  http://dom1.example.com/ => /usr/local/apache/vhosts/dom1/ http://foo.dom2.example.com/ => /usr/local/apache/vhosts/foo.dom2/ etc... 

Você pode, naturalmente, adaptair a maneira como o mapeamento funciona. Veja a documentation paira todos os detalhes e mais exemplos.

  • Caminho do diretório virtual em files HTML
  • Apache 404 retornando 500 erros. Solicitair redirecionamentos excedidos
  • A solicitação excedeu o limite de 10 redirecionamentos internos devido ao provável erro de configuration, Use 'LimitInternalRecursion' paira aumentair o limite
  • Como faço paira configurair a reescrita de URL paira uma instância do Heroku?
  • Como fazer example.com/about show example.com/about.html? (Apache2)
  • Configurair um server DNS local
  • mod_rewrite com múltiplas QUERY STRINGS
  • Não é possível obter mod_rewrite paira interromper o processamento