将流量从文件夹或其子文件夹重定向到另一个文件夹

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

我有一个 Apache Web 服务器在默认

var/www/html
路径上运行。

这看起来如下:

var (Folder)
|   www (Folder)
|   |   html (Folder)
|   |   |   index.php (File)
|   |   |   some_other_files.php (File)
|   |   |   ab (Folder)
|   |   |   |   index.php
|   |   my_app (Folder)
|   |   |   ab.php (file)
|   |   |   login (Folder)
|   |   |   |   index.php
|   |   |   index.php (File)

现在我想将所有流量从

domain.com/my_app
及其子文件夹重定向到实际的
var/www/my_app
目录。

这应该只是将

var/www/html/index.php
文件重定向到
var/www/my_app/index.php
,而且来自
html
子文件夹的所有流量都应该相应地发送到
my_app
中的文件夹。

示例:

domain.com/my_app/       => var/www/my_app/index.php
domain.com/              => var/www/html/index.php
domain.com/abc           => var/www/html/abc/index.php
domain.com/my_app/login/ => var/www/my_app/login/index.php
domain.com/my_app/ab.php => var/www/my_app/ab.php

请注意,这应该将请求转发/重写到文件夹,而不仅仅是重定向它们!

如何通过实现适当的

.htaccess
或编辑 apache
conf
文件来实现此目的?

提前谢谢您!

apache .htaccess mod-rewrite configuration forward
2个回答
1
投票

我终于找到了解决方案:

<VirtualHost *:80>
    DocumentRoot /var/www/html/

    Alias /my_app "/var/www/my_app/"
    Alias /my_app/ "/var/www/my_app/"
    <Directory "/var/www/my_app/">
        Order allow,deny
        Allow from all
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这样,所有到

domain.com/my_app
的 HTTP 流量都会相应地发送到
/var/www/my_app/
及其子文件夹!


0
投票

这对我不起作用。我有 apache2.service 的 ob 失败,因为控制进程退出并出现错误代码。 有关详细信息,请参阅“systemctl status apache2.service”和“journalctl -xeu apache2.service”。

当我尝试重新启动 Apache 时。

© www.soinside.com 2019 - 2024. All rights reserved.