阿帕奇虚拟主机重写网址在网址中添加斜杠。

问题描述 投票:0回答:1

我已经在Apache虚拟主机上进行了配置。我想让我的url变成:

  1. 从www重定向到非www
  2. 从http重定向到https。

我有这样的配置(在不同的论坛和Digital Ocean的教程上找到的)。

<IfModule mod_ssl.c>
<VirtualHost *:80>
    ServerName sitename.com
        RewriteCond %{HTTP_HOST} www.sitename.com [NC]
        RewriteRule ^/(.*) http://sitename.com/$1 [QSA,R=301,L]
    Redirect / https://sitename.com
</VirtualHost>

<VirtualHost *:443>
    ServerAdmin [email protected]
    ServerName sitename.com
    ServerAlias www.sitename.com
    DocumentRoot /var/www/sitename.com/sitename/public
   <Directory /var/www/sitename.com/sitename/public>
        AllowOverride None
        Order Allow,Deny
        Allow from All
        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        </IfModule>
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    RewriteEngine on
    RewriteCond %{HTTP_HOST} www.sitename.com [NC]
    RewriteRule (.*) https://sitename.com/$1 [QSA,R=301,L]
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/sitename.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/sitename.com/privkey.pem
</VirtualHost>
</IfModule>

问题是:当我试图访问 https://www.sitename.com 我的网址是这样重写的。https://sitename.com// 所以它给我一个404... 下面是不同的url和它们的行为。

我是一个相当新的网络开发,这是我自己的第一个完整的项目......。所以我真的不知道我的配置是否良好。

apache url redirect url-rewriting virtualhost
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.