我应该在webroot文件夹上使用什么htaccess设置。它似乎是为什么布局中的所有链接都不起作用的主要罪魁祸首。
这是webroot文件夹中的htaccess代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
该项目来自实时服务器,但我需要让它在我的本地计算机/ localhost上运行,以便我可以进行一些更改。但正如你在第一张图片上看到的那样,css,链接和javascript代码无法加载。
答案 0 :(得分:1)
您的问题的核心是在localhost上,您在Apache文档根目录下的子文件夹中运行您的网站,并且您没有在链接中指定此子文件夹。因此,如果文件位于C:/xampp/htdocs/www/app/webroot/css/mysheet.css
,则正确的方式是<link rel="stylesheet" href="/www/css/mysheet.css">
。
你有两个选择,你可以(我认为你应该)同时使用它们:
通过在视图中调用$this->Html->css("mysheet")
,Cake将创建指向工作表的链接,它还将包含其基本文件夹。更多信息:HtmlHelper
您可以在xampp配置中设置本地虚拟主机。完成后,您将能够使用此域名而不是localhost / www访问您的本地网站。在下面的示例中,我将使用域mywebsite.local:
2.1。转到C:/ xampp / apache / conf / extra并打开httpd-vhosts.conf。
2.2。将以下代码添加到文件末尾:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/www"
ServerName mywebsite.local
</VirtualHost>
2.3。转到C:/ Windows / System32 / drivers / etc并使用管理员权限打开hosts文件。
2.4。添加以下行:127.0.0.1 mywebsite.local
2.5。重启Apache。
现在,您可以在浏览器地址栏中输入http://mywebsite.local来访问您的本地网站。由于此虚拟主机的文档根目录为htdocs / www,因此所有css都应加载。