我有一个 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
文件来实现此目的?
提前谢谢您!
我终于找到了解决方案:
<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/
及其子文件夹!
这对我不起作用。我有 apache2.service 的 ob 失败,因为控制进程退出并出现错误代码。 有关详细信息,请参阅“systemctl status apache2.service”和“journalctl -xeu apache2.service”。
当我尝试重新启动 Apache 时。