¡Acceder al sitio con un prefijo WWW genera un error interno del servidor 500!

¡Acceder al sitio con un prefijo WWW genera un error interno del servidor 500!

He migrado a un nuevo servidor y cada vez que intento utilizar mi sitio con el prefijo www aparece un error interno del servidor 500. Esto solía funcionar bien en mi host anterior. Aquí hay un fragmento del archivo htaccess que hace referencia a www; en ningún otro lugar se refiere a www.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^blog/ - [L]
RewriteCond %{HTTP_HOST} ^www\.mydomain\.com$ [NC]
RewriteRule ^(.*)$ http://mydomain.com/$1
RewriteRule ^search/(.*)/(.*)/(.*)/(.*) /search.php?searchfor=$1&sortby=$2&page=$3&searchterm=$4
RewriteRule ^confirmemail/(.*) /confirmemail.php?code=$1
RewriteRule ^resetpassword/(.*) /resetpassword.php?code=$1
RewriteRule ^resendconfirmation/(.*) /resendconfirmation.php?userid=$1
RewriteRule ^categories/ /categories.php
RewriteRule ^([-_~*a-zA-Z0-9]+)(\/)?$ /memberprofile.php?username=$1
RewriteRule ^browse/audios/(.*)/(.*)/(.*)/(.*) /audios.php?sortby=$1&filter=$2&page=$3&title=$4
RewriteRule ^browse/categories/audios/(.*)/(.*)/(.*)/(.*) /categoryaudios.php?sortby=$1&filter=$2&page=$3&title=$4
RewriteRule ^audios/(.*)/(.*) /playaudio.php?audioid=$1&title=$2
RewriteRule ^download/audio/(.*)/(.*) /downloadaudio.php?AUDIOID=$1&title=$2
RewriteRule ^members/audios/(.*)/(.*) /memberaudios.php?pid=$1&username=$2
RewriteRule ^syndicate/audios/(.*)/(.*) /syndicateaudios.php?filter=$1&title=$2
</IfModule>

¿Qué más puedo comprobar?

He configurado este dominio con el Panel de control de Plesk. ¿Quizás este sea el problema?

Gracias a todos por cualquier ayuda.

Actualizar

Los registros de errores muestran esto cuando voy a mi sitio usando el prefijo www.

[Miércoles 08 de septiembre 13:57:24 2010] [error] [cliente xx.xxx.xx.xxx] La solicitud excedió el límite de 10 redirecciones internas debido a un probable error de configuración. Utilice 'LimitInternalRecursion' para aumentar el límite si es necesario. Utilice 'Depuración de nivel de registro' para obtener un seguimiento.

Actualización 2

Mi sitio tiene un alias de servidor en el archivo httpd.confde la forma serverAlias www.mydomain.com- ¿Puede esto causar un bucle de redireccionamiento?

Actualización 3

No pude hacer que Apache creara o escribiera en el registro de reescritura y no quiero reiniciar demasiado el servicio ya que hay personas usando el sitio.

¡Agregué una recompensa a esta pregunta porque realmente necesito ayuda!

Respuesta1

Esto es interesante porque los registros indican que se está produciendo una redirección, pero no hay ninguna regla que utilice el indicador [R]. Sin embargo, cuando una regla incluye http://... el indicador [R] es redundante, por lo que el

RewriteRule ^(.*)$ http://mydomain.com/$1

La regla es la candidata probable para causar el problema.

Si yo fuera usted, intentaría poner [R=301,L] al final de esa línea para asegurarme de que las otras reglas no estén usando de alguna manera el nombre de host anterior, lo que de alguna manera resultaría en un bucle.

Otra posibilidad es que PHP esté involucrado en el bucle de redireccionamiento. ¿Puedes acceder al sitio www con Firefox y el complemento livehttpheaders y compartir los encabezados aquí? Esto puede arrojar algo de luz sobre la causa del bucle de redireccionamiento.

No creo que el hecho de que Plesk esté involucrado tenga nada que ver con eso, y no, no creo que ServerAlias ​​tenga nada que ver con eso. Eso solo permite que se proporcione la misma configuración para ambos hosts virtuales: www.example.com y example.com.

¡Espero que ayude!

Respuesta2

También hay unreescribir el registro, actívalo y mira qué pasa.

En la mayoría de los casos se trata de una regla reentrante.

Respuesta3

Qué tal si:

<IfModule mod_rewrite.c>
RewriteEngine On
ReWriteCond %{HTTP_HOST} !^mydomain
ReWriteRule ^(.*)$ http://mydomain.com/$1
...
</IfModule>

información relacionada