开发者

500 Internal Server Error when using .htaccess with RewriteEngine

I am on the shared host Bounceweb and I am trying to add some rewrite rules to make my links look prettier.

One of these rules is to make the url: http://mysite.com/upload point to: http://mysite.com/upload.php. I have this in my .htaccess file:

RewriteEngine on
RewriteRule ^upload$ u开发者_如何转开发pload.php

but all it's giving me is a 500 Internal Server Error. I looked at my logs and this comes up a lot:

[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

Does this mean my host doesn't support .htaccess? Pretty lame if they don't. I've already tried changing the permissions of .htaccess to 777 and it doesn't help.

Thanks!


\xef\xbb\xbf are three invisible junk characters (at least from Apache's perspective) called the Unicode BOM, or byte order mark. Apache thinks that those characters are part of the command that follows right after. This is what you see in the log, though the characters are escaped so they're visible to the naked eye. \xef\xbb\xbfRewriteEngine

In your editor, especially if your editor is Notepad, make sure you're saving your file without a BOM. This should be selectable in the save as dialog or elsewhere.


It might be the mod_rewrite module is not loaded.

Windows xampp : Open xampp/apache/conf/httpd.conf and uncomment mod_rewrite module.
Windows wamp : Open wamp/bin/apache/Apache2.x.x/conf/httpd.conf and uncomment mod_rewrite module.
Ubuntu : a2enmod rewrite && service apache2 restart or cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

Then reload apache


To remove the BOM in unix use vi and below command

: set nobomb

: wq


Try this:

a2enmod rewrite    
/etc/init.d/apache2 restart


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

rewriterule ^upload$ upload.php

</IfModule>

try this.


I had this problem and solved it with:

sudo a2enmod rewrite
sudo service apache2 restart


Just save your .htaccess file with UTF-8 encoding (without BOM) and upload. Recommended to use Notepad++. (in my case that helped).

atb

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜