2012-04-21 5 views
0

У меня есть следующие трюки в моем файле .htaccess, все работает нормально на моем локальном сервере или на рабочем сервере, но когда я загружаю этот файл на удаленный сервер, он дает мне ошибку 500 Внутренняя ошибка сервера, следующие строки дает мне ошибкуRewriteRule - mod-rewrite

.htaccess работает отлично на моем сервере производства, но не на удаленном сервере

Options +FollowSymLinks 
Redirect /othersite.html http://www.othersite.com 
RewriteEngine on 
RewriteRule ^(.*)\.htm$ $1.php [nc] 
RewriteRule ^Old_One$ nomoreoldies.php [L] 
+2

Первое правило переписывает все .htm-файлы в .php и 2-й Old_One на nomoreoldies.php, что не соответствует вашему описанию. Что вы имеете в виду? –

ответ

1

Будьте осторожны при развертывании локальных файлов на удаленном сервере. Отредактируйте файл с помощью ftp и проверьте наличие недопустимых символов, которые на самом деле скрыты. или воссоздать файл, удалить недопустимые символы

2

Пожалуйста, убедитесь, что mod_rewrite включен на этом сервере, и что вы можете использовать правила перезаписи через .htaccess в вашем каталоге.

Edit (суммируя комментарии):

Дополнительные Tipps: проверьте файл журнала на наличие ошибок. В случае Недействительная команда проверяют орфографию и неправильную кодировку файлов, которые могут заменять пробелы некоторыми другими символами, так что mod_rewrite не распознает части строки.

Если у вас есть сомнения, воссоздайте весь файл непосредственно на сервере, используя vi (или аналогичный редактор), без копии &, чтобы обеспечить правильное кодирование файлов на сервере.

+0

да mod_rewrite один, но не знаю, как проверить, могу ли я использовать правила перезаписи через .htaccess – Adnan

+0

Я думал о проверке конфигурации httpd/vhost для 'AllowOverride' (http://httpd.apache.org/docs/2.0/mod /core.html#allowoverride), но я вижу, что это может мало повлиять на использование mod_rewrite. В любом случае, есть ли у вас доступ к журналу ошибок сервера? – jCoder

+0

Это журнал регистрации ошибок сервера /home/nabuns/public_html/.htaccess: Недопустимая команда . RewriteRule \ xa0^(. *) \\ HTM $ \ xa0 $ 1.php \ xa0 [пс], возможно, с ошибкой или определяется модулем, не включенным в конфигурацию сервера – Adnan