【问题标题】:.htaccess throws Internal server error for subdomain.htaccess 引发子域的内部服务器错误
【发布时间】:2016-05-01 16:56:55
【问题描述】:

我创建了一个子域 cmets.yoursite.com 来为主站点 www.yoursite.com 部署评论插件。每当我将浏览器指向 cmets.yoursite.com/app/install.php 或 cmets.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/cmets

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

我正在使用 Laravel。

请帮助O_o

【问题讨论】:

  • 服务器日志中记录了内部服务器错误。请向我们显示错误消息。
  • [Sun May 01 00:15:22.472696 2016] [core:alert] [pid 558607:tid 139761515673344] [client 94.173.202.90:55438] /home/antonsirik/public_html/.htaccess: RewriteRule : 错误的参数行 '^(.*)$' [Sun May 01 00:15:22.472587 2016] [core:alert] [pid 558607:tid 139761515673344] [client 94.173.202.90:55438] /home/antonsirik/public_html/ .htaccess: RewriteRule: 错误的参数行 '^(.*)$'

标签: .htaccess laravel mod-rewrite


【解决方案1】:

您需要两个不同的RewriteCondition(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>

【讨论】:

  • cmets 现在可以工作,但主站点得到 404 - 未找到 :( 错误日志:[Sun May 01 00:02:13.784769 2016] [autoindex:error] [pid 561887:tid 139761641551616] [client 94.173.202.90:55206] AH01276:无法提供目录 /home/antonsirik/public_html/:找不到匹配的 DirectoryIndex (index.html.var,index.htm,index.html...),并且服务器生成的目录索引被禁止选项指令 AH00112:警告:DocumentRoot [/home/antonsirik/public_html/cmets] 不存在
  • 那么您网站的主要内容应该在/下提供吗?删除第二个规则/条件后会发生什么?
  • 网站的主要内容应该在/下。当我删除第二条规则/条件时,评论部分正常工作,主站点被禁止您无权访问此服务器上的 /。此外,在尝试使用 ErrorDocument 处理请求时遇到 404 Not Found 错误。
  • 布埃诺,我相应地更新了第二条规则 - 试试看
  • Reto,cmets 插件可以工作,但是主站点被禁止访问您没有权限访问此服务器上的 /。
猜你喜欢
  • 1970-01-01
  • 2017-10-24
  • 2023-03-05
  • 1970-01-01
  • 2014-10-31
  • 2016-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多