在 XAMPP 中更改 Apache 文档根目录
change Apache document root in XAMPP
我刚刚从主机下载了一个包含静态 html 页面的网站到我的本地主机 (XAMPP),并将其保存到 XAMPP htdocs 目录的子目录中。
当我在浏览器中查看本地网站时,所有 css、js 文件和图像都丢失了。我检查了 HTML 源代码,发现它都使用 css/js 或 href link 的相对路径。例如:
<a href="/contact">Text Link</a>
它适用于主机,但在我的本地主机上,它指向 http://localhost/contact instead of http://localhost/bf/contact(我的子目录名称是 bf)。此结构适用于所有 css,js 文件也无法加载。
我尝试将 .htaccess 文件添加到我的子目录中:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !bf/
RewriteRule (.*) /bf/ [L]
但是还是不行。我不想手动更改每个 HTML 页面中的所有 src、href 和 link 来解决这个问题。有一种方法可以让 Apache 识别根是 /bf 而不是 / ,仅应用于此目录中的所有文件。请帮忙!
非常感谢!
您可以通过在本地设置 apache 虚拟主机来完成这项工作,如下所述:
例如在ubuntu /etc/apache2/httpd.conf中,
如果您在 window 上使用 XAMPP 就是这种情况,那么 httpd.conf 文件应该是 C:\xampp\apache\conf\httpd.conf.
请按照以下步骤在本地服务器上配置您的本地站点:
------------
Step 1
------------
i.e
<VirtualHost *:80>
ServerName test.demo.tst ( Any name you want to set )
DocumentRoot "C:/xampp/htdocs/bf"
<Directory "C:/xampp/htdocs/bf">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#RackEnv development
ErrorLog C:/xampp/htdocs/bf/logs/test.demo.tst_error
CustomLog C:/xampp/htdocs/bf/logs/test.demo.tst_access common
</VirtualHost>
------------
Step 2
------------
Than you need to restart apache service
------------
Step 3
------------
Than you need to do setting in your hosts files
for example in hosts file place below entry
127.0.0.1 test.demo.tst
------------
Step 4
------------
Than you can access this url test.demo.tst local server.
I hope this informations would be helpful to you.
请试试这个..
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !bf/
RewriteRule ^(.*)$ /bf/ [QSA,L]
希望对您有所帮助。你的 apache 重写模式必须在 php.ini
我刚刚从主机下载了一个包含静态 html 页面的网站到我的本地主机 (XAMPP),并将其保存到 XAMPP htdocs 目录的子目录中。
当我在浏览器中查看本地网站时,所有 css、js 文件和图像都丢失了。我检查了 HTML 源代码,发现它都使用 css/js 或 href link 的相对路径。例如:
<a href="/contact">Text Link</a>
它适用于主机,但在我的本地主机上,它指向 http://localhost/contact instead of http://localhost/bf/contact(我的子目录名称是 bf)。此结构适用于所有 css,js 文件也无法加载。
我尝试将 .htaccess 文件添加到我的子目录中:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !bf/
RewriteRule (.*) /bf/ [L]
但是还是不行。我不想手动更改每个 HTML 页面中的所有 src、href 和 link 来解决这个问题。有一种方法可以让 Apache 识别根是 /bf 而不是 / ,仅应用于此目录中的所有文件。请帮忙!
非常感谢!
您可以通过在本地设置 apache 虚拟主机来完成这项工作,如下所述:
例如在ubuntu /etc/apache2/httpd.conf中, 如果您在 window 上使用 XAMPP 就是这种情况,那么 httpd.conf 文件应该是 C:\xampp\apache\conf\httpd.conf.
请按照以下步骤在本地服务器上配置您的本地站点:
------------
Step 1
------------
i.e
<VirtualHost *:80>
ServerName test.demo.tst ( Any name you want to set )
DocumentRoot "C:/xampp/htdocs/bf"
<Directory "C:/xampp/htdocs/bf">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
#RackEnv development
ErrorLog C:/xampp/htdocs/bf/logs/test.demo.tst_error
CustomLog C:/xampp/htdocs/bf/logs/test.demo.tst_access common
</VirtualHost>
------------
Step 2
------------
Than you need to restart apache service
------------
Step 3
------------
Than you need to do setting in your hosts files
for example in hosts file place below entry
127.0.0.1 test.demo.tst
------------
Step 4
------------
Than you can access this url test.demo.tst local server.
I hope this informations would be helpful to you.
请试试这个..
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !bf/
RewriteRule ^(.*)$ /bf/ [QSA,L]
希望对您有所帮助。你的 apache 重写模式必须在 php.ini