我刚刚下载了一个网站,其中包含从托管到我的localhost(XAMPP)的静态html页面,并将其保存到XAMPP htdocs目录中的子目录中。
当我在浏览器中查看本地网站时,所有css,js文件和图像都丢失了。我检查了HTML源代码,发现它全部使用了css / js或href链接的相对路径。例如:
<a href="/contact">Text Link</a>
它适用于托管,但在我的localhost上,它指向http://localhost/contact而不是http://localhost/bf/contact(我的子目录名称是 bf )。此结构也适用于所有css,js文件,无法加载它们。
我尝试将.htaccess文件添加到我的子目录中:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !bf/
RewriteRule (.*) /bf/$1 [L]
但它仍然不起作用。我不想手动更改每个HTML页面中的所有src,href和链接来修复此问题。有一种方法可以让Apache识别root是/ bf而不是/,只应用于此目录中的所有文件。请帮忙!
非常感谢!
答案 0 :(得分:1)
您可以通过在本地设置apache虚拟主机来完成此工作,如下所述:
例如在ubuntu /etc/apache2/httpd.conf中, 如果您在窗口上使用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.
答案 1 :(得分:0)
请试试这个......
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !bf/
RewriteRule ^(.*)$ /bf/$1 [QSA,L]
希望这对你有所帮助。并且你的apache重写模式必须在php.ini中启用