.htaccess抛出子域的内部服务器错误

时间:2016-05-01 08:00:29

标签: .htaccess laravel mod-rewrite

我创建了一个子域comments.yoursite.com来为主站点www.yoursite.com部署评论插件。每当我将浏览器指向comments.yoursite.com/app/install.php或comments.yoursite.com时,它都会抛出内部错误

我的.htaccess文件:

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

文件结构: 主要网站:home / yoursite / public_html / public 评论插件:home / yoursite / comments

当我删除htaccess文件时,评论插件可以正常工作,但主站点显示未找到。不能让他们同时工作:(

我正在使用Laravel。

请帮助O_o

1 个答案:

答案 0 :(得分:0)

对于这两个用例,您需要两个不同的RewriteCond ition(s)和规则 - 尝试这样的事情:

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteCond %{HTTP_HOST} ^comments.yoursite.com
   RewriteRule ^(.*)$ http://yoursite.com/comments/$1 [NC,L]
   RewriteCond %{HTTP_HOST} ^www$
   RewriteRule ^(.*)$ public/$1 [NC,L]
</IfModule>