如何使本地服务器将子文件夹视为根文件夹?
How to make local server treats a subfolder as the root folder?
当我在本地服务器上开发自己的网站时,我将其文件放在一个子文件夹中。例如,本地 url 看起来像这样:
http://127.0.0.1/projects/myownwebsite/
我把它的文件上传到网络托管公司的服务器后,它们就变成了根文件夹。所以远程 url 看起来像这样:
http://www.myownwebsite.com/
问题是,我想在所有页面和文件的引用中使用绝对路径。例如:
<link rel="stylesheet" href="/css/style.css">
<script src="/js/main.js"></script>
<a href="/about-us/">About Us</a>
<img src="/images/logo.png" alt="My Website">
这些绝对路径在远程服务器上完美运行。但不是在我的本地服务器上,因为在我的本地服务器上,像 /about-us/
这样的引用链接到 http://127.0.0.1/about-us/
,找不到任何页面。
我也想让绝对路径在我的本地服务器上工作,这样我就可以更轻松地开发自己的网站。但是我不能简单地将所有文件放在本地服务器的根文件夹中,因为还有其他项目的文件和文件夹。
是否可以让本地服务器将子文件夹(在本例中为我自己网站的文件夹)作为根文件夹?
P.S。我用于本地服务器的软件是 EasyPHP.
您需要更改 VirtualHost 和 conf_files\httpd.conf file.
<VirtualHost 127.0.0.1>
DocumentRoot "${path}/data/localweb/public_html"
ServerName 127.0.0.1
<Directory "${path}/data/localweb/public_html">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
Allow from 127.0.0.1
Deny from all
Require all granted
</Directory>
在 windows 上:configuration->Apache. (opens httpd.conf)
DocumentRoot "D:/proot"
(...)
# DocumentRootDirectory
<Directory "D:\proot">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
(...)
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot "D:/proot/"
ServerName localhost
</VirtualHost>`
替换D:/proot/ with your path.
当我在本地服务器上开发自己的网站时,我将其文件放在一个子文件夹中。例如,本地 url 看起来像这样:
http://127.0.0.1/projects/myownwebsite/
我把它的文件上传到网络托管公司的服务器后,它们就变成了根文件夹。所以远程 url 看起来像这样:
http://www.myownwebsite.com/
问题是,我想在所有页面和文件的引用中使用绝对路径。例如:
<link rel="stylesheet" href="/css/style.css">
<script src="/js/main.js"></script>
<a href="/about-us/">About Us</a>
<img src="/images/logo.png" alt="My Website">
这些绝对路径在远程服务器上完美运行。但不是在我的本地服务器上,因为在我的本地服务器上,像 /about-us/
这样的引用链接到 http://127.0.0.1/about-us/
,找不到任何页面。
我也想让绝对路径在我的本地服务器上工作,这样我就可以更轻松地开发自己的网站。但是我不能简单地将所有文件放在本地服务器的根文件夹中,因为还有其他项目的文件和文件夹。
是否可以让本地服务器将子文件夹(在本例中为我自己网站的文件夹)作为根文件夹?
P.S。我用于本地服务器的软件是 EasyPHP.
您需要更改 VirtualHost 和 conf_files\httpd.conf file.
<VirtualHost 127.0.0.1>
DocumentRoot "${path}/data/localweb/public_html"
ServerName 127.0.0.1
<Directory "${path}/data/localweb/public_html">
Options FollowSymLinks Indexes
AllowOverride All
Order deny,allow
Allow from 127.0.0.1
Deny from all
Require all granted
</Directory>
在 windows 上:configuration->Apache. (opens httpd.conf)
DocumentRoot "D:/proot"
(...)
# DocumentRootDirectory
<Directory "D:\proot">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
(...)
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot "D:/proot/"
ServerName localhost
</VirtualHost>`
替换D:/proot/ with your path.