O Apache está dando um erro de servidor interno 500 em um subdomínio criado para meu domínio

1

Eu criei um subdomínio pelo link e, para testar o subdomínio, hospedei o mesmo conteúdo do domínio principal < href="http://www.stenzsolutions.com"> link

Agora eu encontrei um problema no sub-domínio ... A página inicial carrega bem, mas se clicar em qualquer link, ele me dá um erro de 500 servidor interno ... O mesmo conteúdo no principal funciona como um sonho e lá não há problemas ... aqui está a descrição exata do problema que eu encontrei ...

Internal Server Error
---------------------

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Apache Server at admin.stenzsolutions.com Port 80

Eu apenas pesquisei e descobri que poderia haver um problema com o arquivo .htaccess ... Então aqui está o meu arquivo .htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

E aqui está o erro exato que recebi do log de erros do servidor

Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
    
por Abilash 11.09.2012 / 14:24

2 respostas

1

Parece que você tem links absolutos no seu código. Ao invés de coisas ao redor com reescritas, o que não deveria ser necessário para tal caso, é muito melhor que você torne seus links relativos. É uma prática ruim usar absolutes para links internos, como você descobriu agora, porque ele quebra a portabilidade e cria um pesadelo de manutenção.

Editar:

É melhor verificar problemas no HTML resultante, em vez do código-fonte. Usando o Firefox ou o Chrome (e possivelmente todos os navegadores, exceto o IE), isso é mais fácil com o seguinte "bookmarklet" (crie um marcador para qualquer página e substitua o URL por esse código).

javascript:%20var%20win%20=%20window.open();%20win.document.write('<html><head><title>Generated%20HTML%20of%20%20'%20+%20location.href%20+%20'</title></head><pre>'%20+%20document.documentElement.innerHTML.replace(/&/g,%20'&amp;').replace(/</g,%20'&lt;')%20+%20'</pre></html>');%20win.document.close();%20void%200;
    
por 12.09.2012 / 09:57
0

.+ também corresponde a index.php . É a razão do loop infinito. Algumas maneiras de corrigir isso:

  1. RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteCond %{REQUEST_URI} !^/index\.php
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
    
  2. RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-l
    
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 
    RewriteCond %{ENV:REDIRECT_STATUS} 200 
    RewriteRule .* - [L]
    
por 12.09.2012 / 09:39