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$ upload.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!
To remove the BOM in unix use vi and below command
: set nobomb
: wq
\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.
Try this:
In some cases maybe mod_rewrite module in apache is not loaded . Check your apache configuration.
Update:
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 : Type in terminal :
a2enmod rewrite
Ubuntu manual :
cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
And then reload apache
Ubuntu :
service apache2 reload
ORservice apache2 restart
Windows : From xampp or wamp control panel.
I had this problem and solved it with:
try this.