Tôi đang di chuyển ứng dụng của mình từ PHP 5.6 sang php 8.0 bằng cách để bộ điều khiển phía trước chuyển hướng đến ứng dụng cũ hoặc ứng dụng mới của tôi tùy thuộc vào uri.
Tôi đã thử với bí danh và nó hoạt động nhưng tôi cần giữ chính xác cùng một máy chủ cho cả hai và không có bí danh.
Ví dụ:
https://foo.bar.com/my_php80_routes
https://foo.bar.com/my_php56_routes
Đây là lần thử không hài lòng của tôi với bí danh
<VirtualHost *:80>
ServerName foo.bar.com
DocumentRoot /var/www/html/foobar/public
# Unwanted prefix
Alias /legacy /var/www/html/foobar/legacy/web
<Directory /var/www/html/foobar/public>
AllowOverride none
Require all granted
SetEnv APP_ENV "dev"
# Handled by php8.0 : ok
<FilesMatch \.php$>
SetHandler "proxy:unix:/var/run/php/php8.0-fpm.sock|fcgi://localhost/"
</FilesMatch>
FallbackResource /index.php
DirectoryIndex index.php
</Directory>
<Directory /var/www/html/foobar/legacy/web>
AllowOverride none
Require all granted
# Handled by libapache2-mod-php5.6 : ok
FallbackResource /app_dev.php
DirectoryIndex app_dev.php
</Directory>
ErrorLog /var/log/apache2/foobar.log
CustomLog /var/log/apache2/foobar.log combined
</VirtualHost>
Tôi đã tìm kiếm một phương pháp khác, có thể dựa trên Tiêu đề HTTP tùy chỉnh như "FOOBARAPP_LEGACY: 1" nhưng tôi không tìm thấy cách ánh xạ HTTP HEADER tới vị trí hệ thống tệp bằng Apache.
Còn có những giải pháp nào nữa ko ?
[chỉnh sửa]
Tôi sẽ cố gắng giải thích bản thân mình tốt hơn.
Những gì tôi đang cố gắng đạt được là có 2 ứng dụng, mỗi ứng dụng chạy trên một phiên bản PHP khác nhau, một ứng dụng là "Ứng dụng chính" (ứng dụng mới trên PHP8.0) và chuyển hướng đến "Ứng dụng thứ hai" nếu "Chính" không tìm thấy tuyến đường. Ứng dụng".
Tất cả điều này hoàn toàn trong suốt đối với người dùng cuối. (cùng tên miền, không có tiền tố)
Nếu https://foo.bar.com/posts chưa được di chuyển : Ứng dụng chính không tìm thấy tuyến đường và chuyển hướng đến Ứng dụng thứ hai sẽ phục vụ nội dung.
Khi điểm cuối này được di chuyển sang "Ứng dụng chính": Ứng dụng chính tìm tuyến đường và phục vụ nội dung.
Vì vậy, tôi đang hỏi một giải pháp không liên quan đến tiền tố/tiền tố hoặc tên miền phụ mới.