当我尝试将我的网站从localhost转移到我们服务器上的测试域时,我需要调整我的htaccess,因为它将localhost引用到另一个文件夹。我将它转移到test.mydomain.com/jellyweb/
但是每当我调整重写基础以匹配它时,该网站就会给我500错误。
php_flag display_errors on
Options +FollowSymLinks
RewriteEngine On
# RewriteCond %{HTTP_HOST} ^195\.238\.74\.8
# RewriteRule (.*) http://www.jellyfishwebdesign.nl/$1 [R=301,L]
# RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
# RewriteRule .* – [F,L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteBase /test/jellyweb/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9-]+)$ index.php?p=$1 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?p=$1&sp=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/?$ index.php?p=$1&sp=$2&t=$3 [L]
文件夹布局为public_html/test/jellyweb
我不确定在这种情况下如何正确获取rewritebase链接,因为即使我只做RewriteBase /jellyweb/
它也不起作用。我在监督什么吗?对不起,htaccess不是我真的很熟悉。
修改
这是它弹出的错误。
[Wed Jul 01 16:32:52 2015] [alert] [client 195.240.165.183] /home/jellyf1q/public_html/test/jellyweb/.htaccess: Invalid command '\xef\xbb\xbf', perhaps misspelled or defined by a module not included in the server configuration
答案 0 :(得分:0)
我解决了这个问题,感谢这篇文章。
500 Internal Server Error when using .htaccess with RewriteEngine
似乎,因为它保存为UTF8,它添加了一些字节,apache无法读取。我在asci中重新保存了文件并删除了php命令行,导致它再次运行。谢谢你的帮助,@ Anubhava