Подтвердить что ты не робот

500 Внутренняя ошибка сервера при использовании .htaccess с RewriteEngine

Я нахожусь на общем хосте Bounceweb, и я пытаюсь добавить некоторые правила перезаписи, чтобы мои ссылки выглядели красивее.

Одно из этих правил состоит в том, чтобы сделать url: http://mysite.com/upload указывать на: http://mysite.com/upload.php. У меня это в файле .htaccess:

RewriteEngine on
RewriteRule ^upload$ upload.php

но все, что он мне дает, - это внутренняя ошибка сервера. Я посмотрел на свои журналы, и это очень много:

[alert] [client 81.179.29.185] /home/minecraf/public_html/.htaccess: Invalid command '\xef\xbb\xbfRewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

Означает ли это, что мой хост не поддерживает .htaccess? Довольно хромой, если они этого не делают. Я уже пытался изменить разрешения .htaccess на 777, и это не помогает.

Спасибо!

4b9b3361

Ответ 1

\xef\xbb\xbf - три невидимых нежелательных символа (по крайней мере, с точки зрения Apache), называемые спецификацией Юникода или байтом. Apache считает, что эти символы являются частью команды, которая следует сразу после. Это то, что вы видите в журнале, хотя символы экранированы, поэтому они видны невооруженным глазом. \xef\xbb\xbfRewriteEngine

В вашем редакторе, особенно если ваш редактор является Notepad, убедитесь, что вы сохраняете файл без спецификации. Это должно быть выбрано в диалоговом окне "Сохранить как" или в другом месте.

Ответ 2

В некоторых случаях модуль mod_rewrite в apache не загружается. Проверьте конфигурацию Apache.

Обновление:

Windows xampp. Откройте xampp/apache/conf/httpd.conf и раскомментируйте модуль mod_rewrite.
Windows wamp. Откройте wamp/bin/apache/Apache2.x.x/conf/httpd.conf и раскомментируйте модуль mod_rewrite.
Ubuntu: введите терминал: a2enmod rewrite
Руководство Ubuntu: cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
А затем перезагрузите apache
Ubuntu: service apache2 reload ИЛИ service apache2 restart
Windows: От панели управления xampp или wamp.

Ответ 3

Попробуйте следующее:

a2enmod rewrite    
/etc/init.d/apache2 restart

Ответ 4

Чтобы удалить спецификацию в unix, используйте vi и ниже команду

: установить nobomb

: wq

Ответ 5

У меня была эта проблема, и я решил:

sudo a2enmod rewrite
sudo service apache2 restart

Ответ 6

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

rewriterule ^upload$ upload.php

</IfModule>

попробуйте это.

Ответ 7

Просто сохраните файл .htaccess с кодировкой UTF-8 (без спецификации) и загрузите. Рекомендуется использовать Notepad++. (в моем случае это помогло).

ATB