特定文件夹中的 Apache Virtualhost 重定向

Posted

技术标签:

【中文标题】特定文件夹中的 Apache Virtualhost 重定向【英文标题】:Apache Virtualhost Redirect in specific folders 【发布时间】:2022-01-09 22:43:51 【问题描述】:

我的问题是在特定文件夹中重定向:

首先:所有http://myDomain.de 必须更改为https://myDomain.de ...这不是问题 当电话是:https://myDomain.de/kd 我可以重定向到https://myDomain.de/kd/ ..这是工作

我的问题是:

当我打电话时:https://myDomain.de 我不会重定向到文件夹 https://myDomain.de/sub1(这是我的 wordpress 文件...)

这是我的代码:

<VirtualHost *:80>
    Redirect permanent  /kd https://myDomain.de/kd/ 

    Redirect permanent  /   https://myDomain.de/sub1/
</VirtualHost>

<VirtualHost _default_:443>
    ServerAdmin masterddgdgg@gmx.de
    ServerName myDomain.de
    
    DocumentRoot /var/www/html
    

    ErrorLog $APACHE_LOG_DIR/myDomain.de-error.log
    CustomLog $APACHE_LOG_DIR/myDomain.de-access.log combined

    <IfModule mod_ssl.c>
        SSLCertificateFile /etc/letsencrypt/live/myDomain.de-0001/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/myDomain.de-0001/privkey.pem
        Include /etc/letsencrypt/options-ssl-apache.conf
    </IfModule>

</VirtualHost>


<Directory "/var/www/html">
    Options -Indexes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
</Directory>

【问题讨论】:

【参考方案1】:

用这个替换你的Redirects

RewriteEngine On

RewriteRule %REQUEST_URI !/kd
RewriteRule ^/?$ https://myDomain.de/sub1/ [R=301,L]

【讨论】:

以上是关于特定文件夹中的 Apache Virtualhost 重定向的主要内容,如果未能解决你的问题,请参考以下文章

Apache:使用通配符永久重定向到 HTTPS

Apache VirtualHost:如何对不同于 80 的端口进行服务器命名

配置 Apache 服务器以使用特定的 OpenSSL 引擎

apache基本配置管理之:apache基于IP,port和域名三种虚拟主机配置方法

如果用户未通过身份验证,Apache 2.x 和 mod_proxy 会产生重定向循环

禁用特定文件夹的访问日志记录 - centos 6 / apache 2.4