【问题标题】:wildcard ssl .htaccess file causes 500 error on laravel subdomain通配符 ssl .htaccess 文件在 laravel 子域上导致 500 错误
【发布时间】:2017-05-10 21:38:05
【问题描述】:

我的帐户上安装了通配符 ssl(我的主机是 Bluehost),我按照 Bluehost 网站上的指示 here 安装了通配符 SSL。但是,当我尝试访问该站点时,它会出现 500 内部服务器错误。我现在正在为子域使用 laravel 框架,我不知道这是否会改变任何东西,但这里是主站点的 .htaccess 文件(这是一个 wordpress 站点):

# Custom subdomain .htaccess SSL + WordPress
        RewriteCond %{HTTP_HOST} ^admin.mysite.com$
        RewriteCond %{REQUEST_URI} !^/admin/public/
        RewriteRule ^(.*)$ /admin/public/$1
        RewriteCond %{HTTP_HOST} ^admin.mysite.com$
        RewriteRule ^(/)?$ admin/public/index.php [L]
        # End custom subdomain .htaccess


# BEGIN WordPress
AddHandler application/x-httpd-php70s .php
<IfModule mod_rewrite.c>
# Custom maindomain .htaccess WordPress
        RewriteBase /
        RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
        RewriteRule ^index\.php$ - [L]
        RewriteCond %{HTTP_HOST} ^(www.)?mysite.com$
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . /index.php [L]
        # End custom maindomain .htaccess
</IfModule>

# END WordPress

这是子域的 .htaccess 文件(安装了 laravel 的那个):

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

请记住,我对 .htaccess 或它的工作原理一无所知,我只是按照网页所说的去做。

【问题讨论】:

    标签: wordpress apache .htaccess ssl laravel-5.4


    【解决方案1】:

    我建议您尝试以下代码,将 HTTP 简单地重定向到 HTTPS:

    RewriteCond %{HTTPS} off
    RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    这应该适用于您的主域及其子域。现在,如果您想将非 WWW 域重定向到 WWW,请尝试以下代码;

    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule (.*) https://www.domainname.com%{REQUEST_URI} [L,R=301]
    

    【讨论】:

    • 这对我不起作用,当我这样做时,我的子域刚刚重定向到我的主域。
    猜你喜欢
    • 2020-03-21
    • 2012-11-12
    • 2014-04-01
    • 1970-01-01
    • 2013-08-01
    • 2015-03-16
    • 2013-07-04
    • 2019-12-10
    • 2011-08-16
    相关资源
    最近更新 更多