如何定义像‘localhost’这样的特定 URL?

如何定义像‘localhost’这样的特定 URL?


就像我想输入URL 中的“localhost”指向 /var/www/ 一样http://courses/somehting/somthing/moresomthings/.... ,它总是指向/var/www/courses.php

这仅适用于我的本地机器。我应该如何处理?

答案1

您的想法是正确的,但您很可能需要将“courses.php”放在一个文件夹中。因此您的结构将更类似于/var/www/courses/index.php(index.php 通常是 Web 服务器查找的默认文件,这允许您执行类似“http://courses”的操作而无需处理重写引擎)。

然后,您需要设置一个 Apache 虚拟主机,以便将新文件夹与域名匹配。您可以在/etc/httpd/sites-available或中找到它/etc/apache2/sites-available,具体取决于您的设置。在您的虚拟主机文件中,您将获得类似以下内容:

<VirtualHost>
  ServerName courses
  DocumentRoot /var/www/courses
</VirtualHost>

Apache 的文档了解您可以执行的更多操作。您需要使用提升的权限来编辑此文件,因此您必须在终端中运行gksu gedit /path/to/virtual/hosts/file

添加后,请确保您的虚拟主机文件已符号链接到 sites-enabled(如果没有,请运行将sudo ln -s [/etc/httpd/sites-available/realfile] [/etc/httpd/sites-enabled/nameofrealfile]括号中的内容替换为适当的路径和文件名(符号链接名称通常是真实文件的名称)。然后,重新启动 Apache,以便它获取新的虚拟主机信息。

如果您正在运行 PHP 文件,则需要确保已安装 PHP5(sudo apt-get install php5)并确保 Apache 模块已激活sudo a2enmod php5

最后,您需要将本地 Web 服务器与您之前选择的域名关联起来。为此,您需要编辑位于 的 HOSTS 文件/etc/hosts。与您的虚拟主机文件一样,HOSTS 文件需要提升权限,因此请使用 打开它gksu gedit /etc/hosts。然后,在其中的其他条目下方,添加一行127.0.0.1 yourdomain(其中“yourdomain”是您选择的域名),然后保存并关闭文件。

完成后,您应该能够看到/var/www/courses文件夹的内容。理想情况下,您将有一个索引文件,它会选择它。如果您有一个 index.php 文件,但它没有读取它,您可能需要告诉 Apache 查找.php索引文件的扩展名。

相关内容