.htaccess rewritebase在子域的子目录中

时间:2015-07-01 08:19:29

标签: .htaccess

当我尝试将我的网站从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

嗯,现在意识到它可能在最后一行的重写中,但不确定我做错了什么。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,感谢这篇文章。

500 Internal Server Error when using .htaccess with RewriteEngine

似乎,因为它保存为UTF8,它添加了一些字节,apache无法读取。我在asci中重新保存了文件并删除了php命令行,导致它再次运行。谢谢你的帮助,@ Anubhava