只有登陆页面加载 HTTPS 我得到的所有其他页面请求的 URL 在此服务器上找不到

Only the landing page load HTTPS all other pages I get The requested URL was not found on this server

我的网站在 http 上运行良好,但使用具有有效证书的 https 只会成功加载登录页面。尝试点击任何其他页面会导致 URL 未找到。

我在同一台服务器上有一个站点的克隆,站点名称不同 (test.mysite.com),使用 https 上的自签名证书。不确定为什么一个有效而另一个无效。

Apache 配置文件相同(站点名称除外)。

证书文件有问题吗?我设置了自签名的,但其他人设置了付费的。

我看哪里?

/public/.htaccess

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

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ / [L,R=301]

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


php_value max_input_vars 10000
php_value suhosin.get.max_vars 10000
php_value suhosin.post.max_vars 10000
php_value suhosin.request.max_vars 10000

~

site.conf

VirtualHost *:80>

        ServerAdmin webmaster@mysite.ca
        ServerName  registration.mysite.ca


        # Indexes + Directory Root.
        DirectoryIndex index.php index.html
        DocumentRoot /var/www/html/registration.mysite.ca/public

        # SSL certs
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/registration.mysite.ca.crt
        SSLCertificateKeyFile /etc/apache2/ssl/registration.mysite.ca.key
  SSLCACertificateFile /etc/apache2/ssl/gd_bundle-g2-g1.crt

<IfModule mod_security2.c>
SecRequestBodyNoFilesLimit 5242880
</IfModule>

<Directory /var/www/html/registration.mysite.ca/public/>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>


</VirtualHost>

当您加载 css/js/images 时,您使用的是 src="http://registration.mysite.ca" 吗?如果是这样,将其更改为 src="//registration.mysite.ca" 并且它应该可以工作。

SSLEngine on in <VirtualHost *:80> 几乎没用,因为端口 80 永远不会提供 SSL 内容,所以您的证书肯定不会在这里使用。

你必须在某处有另一个 <VirtualHost *:443>,可能有不同的 DocumentRoot

因为它被标记为 Laravel,我建议使用 Laravel Forge 来处理这样的一切。对我帮助很大。至于手头的问题,请确保虚拟主机设置为443,然后强制将所有流量重定向到https。

只需将其添加到 apache 站点配置中并更改域。 (注意 HTTPS)

<VirtualHost *:80>
    ServerName example.com
    Redirect / https://example.com/
</VirtualHost>