Jos*_*osh 28 .htaccess mod-rewrite
我在共享主机Bounceweb上,我正在尝试添加一些重写规则,以使我的链接看起来更漂亮.
其中一条规则是使url:http://mysite.com/upload指向:http://mysite.com/upload.php.我在.htaccess文件中有这个:
RewriteEngine on
RewriteRule ^upload$ upload.php
Run Code Online (Sandbox Code Playgroud)
但它给我的全部是500内部服务器错误.我查看了我的日志,这出现了很多:
[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
Run Code Online (Sandbox Code Playgroud)
这是否意味着我的主人不支持.htaccess?如果不这样做,那就太蹩脚了.我已经尝试将.htaccess的权限更改为777,但它没有帮助.
谢谢!
nit*_*k01 46
\xef\xbb\xbf是三个不可见的垃圾字符(至少从Apache的角度来看)称为Unicode BOM或字节顺序标记.Apache认为这些字符是紧随其后的命令的一部分.这是你在日志中看到的,虽然字符被转义所以它们肉眼可见.\xef\xbb\xbfRewriteEngine
在您的编辑器中,特别是如果您的编辑器是记事本,请确保在没有BOM的情况下保存文件.这应该可以在另存为对话框或其他位置选择.
Mo *_*ami 20
在某些情况下,可能没有加载apache中的mod_rewrite模块.检查您的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 OR service apache2 restart
Windows:来自xampp或wamp控制面板.