我想知道我是否可以使用同一个域从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?
1条答案
按热度按时间uxh89sit1#
解决方案是在ddns服务器本身上创建一个指向相同IP的新域。
然后在virtualhost中,您必须将新域分配给您拥有文件夹的路径,或者您可以保留该域以指向所有内容,并且您知道此域具有您想要的版本,例如: