500 внутренняя ошибка сервера с php RewriteRule - PullRequest
0 голосов
/ 03 августа 2011
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s()]+)/?$ product.php?group=$1&salt=$2&name=$3 [L]

Это работало нормально с моим предыдущим хостингом, но когда я меняю хостинг на 1and1 (Linux), это дает мне 500 внутренних ошибок сервера.Пожалуйста, помогите мне, что происходит?Спасибо

Ответы [ 2 ]

0 голосов
/ 03 августа 2011

Правильный способ установки перезаписи мода - использовать <IfModule mod_rewrite.c>

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s]+)/([a-zA-Z0-9_-\s()]+)/?$ product.php?group=$1&salt=$2&name=$3 [L]
</IfModule>

Это обеспечит запуск перезаписи мода только в том случае, если установлен mod_rewrite.Это должно как минимум остановить ошибку сервера.Если это не так, значит, у вас есть синтаксическая ошибка с правилом перезаписи.

0 голосов
/ 03 августа 2011

Вы абсолютно уверены, что у вашего нового провайдера включена mod_rewrite?Это самая распространенная причина появления 500 ошибок с mod_rewrite.

. Чтобы выполнить быстрый тест, просто замените ваш полный .htaccess на следующие строки ( сначала сделайте резервную копию вашего исходного .htaccess)

RewriteEngine on
RewriteRule ^(.*)$ http://www.google.com [R]

Если включен mod_rewrite, он перенаправит все ваши запросы в Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...