如何访问同一个域与不同的文件夹从互联网(wan)Apache(wamp)?

ui7jx7zq  于 2023-10-23  发布在  Apache
关注(0)|答案(1)|浏览(104)

我想知道我是否可以使用同一个域从Internet访问不同的文件夹。
我使用FCGI,这意味着对于每个项目我有一个不同版本的php,在本地它可以正常工作,但从互联网上它不,我不知道它是否可以使用端口或其他方式完成。
在主机中:

::1 localhost
127.0.0.1 localhost
192.168.2.5 localhost
192.168.2.5 mydomain.ddns.net
192.168.2.5 project1.local
192.168.2.5 project2.local

在httpd.conf中:

Defines MYPORT8081 8081
Listen 0.0.0.0:80
Listen [::0]:80
Listen 0.0.0.0:${MYPORT8081}
Listen [::0]:${MYPORT8081}

在httpd-vhost.conf中

<VirtualHost *:80>
ServerName localhost
DocumentRoot c:/wamp/www
    <Directory "c:/wamp/www/">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
ServerName mydomain.ddns.net
DocumentRoot "c:/wamp/www/project1"
    <Directory "c:/wamp/www/project1/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
   <IfModule fcgid_module>
       Defines FCGIPHPVERSION "7.4.22"
       FcgidInitialEnv PHPRC ${PHPROOT}${FCGIPHPVERSION}
      <Files ~ "\.php$">
           Options +Indexes +Includes +FollowSymLinks +MultiViews +ExecCGI
           AddHandler fcgid-script .php
           FcgidWrapper "${PHPROOT}${FCGIPHPVERSION}/php-cgi.exe" .php
     </Files>
   </IfModule>
</VirtualHost>
#

<VirtualHost *:${MYPORT8081}>
ServerName mydomain.ddns.net
DocumentRoot "c:/wamp/www/project2/public"
    <Directory "c:/wamp/www/project2/public/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

正如你可以看到在服务器名是重复的(错误),我想有指向两个网站相同的域,但当我在浏览器中从互联网上输入我可以访问:

  • 项目1:mydomain.ddns.net
  • 项目2:mydomain.ddns.net:8081

如果我把这个放在本地的服务器名称(局域网)是工作项目1:project1.local project2:project2.local
但我想访问我的IP从互联网(广域网)通过不同的端口去每个文件夹。
如果这个端口选项是不可能的,有没有其他方法来访问每个文件夹在线,同时尊重FCGI?

uxh89sit

uxh89sit1#

解决方案是在ddns服务器本身上创建一个指向相同IP的新域。
然后在virtualhost中,您必须将新域分配给您拥有文件夹的路径,或者您可以保留该域以指向所有内容,并且您知道此域具有您想要的版本,例如:

<VirtualHost *:80>
ServerName mydomain2.ddns.net
DocumentRoot "c:/wamp/www/myproject/public"
<Directory "c:/wamp/www/myproject/public/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
     <IfModule fcgid_module>
Defines FCGIPHPVERSION "8.2.10"
FcgidInitialEnv PHPRC ${PHPROOT}${FCGIPHPVERSION}
<Files ~ "\.php$">
Options +Indexes +Includes +FollowSymLinks +MultiViews +ExecCGI
AddHandler fcgid-script .php
FcgidWrapper "${PHPROOT}${FCGIPHPVERSION}/php-cgi.exe" .php
</Files>
</IfModule>
</VirtualHost>

相关问题