【问题标题】:add alias to my virtual host为我的虚拟主机添加别名
【发布时间】:2015-06-17 18:53:11
【问题描述】:

我已经在个人服务器上部署了我的项目 symfony2,一切正常。

现在我想把这个项目发布给一些朋友,让他们可以看到。我认为最好的办法是通过/从外部访问我的项目。 谷歌的快速研究认为 Alias 声明是可能的。

ServerName blabla
ServerAlias blablab
ServerAdmin blablab@blabla
DocumentRoot /path/to/my/project/web     

Alias /myproject "/path/to/my/project/web"
<Directory /path/to/my/project/web>
   DirectoryIndex app.php
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   Require all granted
   Order allow,deny
   allow from all
</Directory>

当我尝试访问&lt;server_IP_ADDRESS&gt;/&lt;project_name&gt; 时出现Not found 错误

为什么会出现这个错误?我该如何解决这个问题?

更新1

我在一台服务器上有很多项目,我希望能够在任何地方访问它们。从我的角度来看,最好的选择是使用别名:

  1. 项目1:http://&lt;my_server_ip_address&gt;/project1
  2. 项目2:http://&lt;my_server_ip_address&gt;/project2
  3. 项目3:http://&lt;my_server_ip_address&gt;/project3 ....

【问题讨论】:

  • 您的别名创建了路径/myproject。根据您的DocumentRoot,路径/ 确实指向与别名/myproject 相同的目录。 &lt;Directory&gt; 指令中还有哪些其他设置?你在制作完你的canges后重新启动了Apache吗?此服务器是否有其他虚拟主机?
  • 我已经更新了我的帖子,是的,我的服务器确实有很多虚拟主机
  • 您可以通过在浏览器中输入ServerNameServerAlias 来访问虚拟服务器。如果找不到,则说明您设置了错误的路径。我也没有得到目录指令之前的别名。
  • @php_nub_qq 谢谢你的回答,我已经更新了我的帖子,请看看。
  • 哦不,这不是它的工作原理。我将尝试解释我所知道的,但请记住,我不是服务器专家,我将提供的信息可能不是 100% 正确,因为可能有更好的方法来做到这一点。

标签: php symfony virtualhost apache2.4


【解决方案1】:

拥有虚拟服务器会将服务器映射到主机名/别名。在您的情况下,您正在访问相同的主机名(服务器 ip)但不同的 URI。在您的情况下,这些 URI 可能不存在,因此您需要重定向/重写它们。我认为您会寻找重写,因此您可以继续将重写规则放入虚拟主机定义中,如 .htaccess 中一样,只需确保您启用了 mod_rewrite。

ServerName <server ip>

RewriteEngine On

RewriteRule /project1 /Path/to/project/1 [L]
RewriteRule /project2 /Path/to/project/2 [L]
RewriteRule /project3 /Path/to/project/3 [L]

【讨论】:

    猜你喜欢
    • 2011-11-04
    • 2012-07-08
    • 2014-04-22
    • 2016-05-12
    • 2020-10-18
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多