我想知道如何从 domain.com 访问 domain.com/home ,我之前已经问过这个问题(One web page with multiple URL's using PHP)我是告诉我使用chdir()
和include()
,但现在我想知道如何才能使用本地.css文件,因为目前如果我访问“domain.com/home”,当头部说“使用style.css”它会访问 domain.com/home/style.css ,但是如果我访问 domain.com ,则会访问 domain.com /style.css ,因为它要求一个本地文件,更改所有本地文件访问是不切实际的,因为它们都是使用php包含的模板绘制,所以修改其中一个是不方便做的,而不是美学上的讨人喜欢在代码清洁方面。
如果你不完全明白我要问的是什么 http://infinity-nova.com和http://infinity-nova.com/home也看到了手头的问题。有什么方法可以使用htaccess吗?我正在使用apachi服务器,因此我可以使用任何url-rewriting插件,如果有必要的话,不能使用apachi。
答案 0 :(得分:2)
你将两个不同的问题视为同一件事。内部PHP脚本的位置是一个问题,看起来已经解决了。
浏览器能够找到资源是完全不同的事情,具体取决于您的应用程序的设置方式。
如果您的应用程序需要完全可移植(加载到任何目录中),那么您需要创建一个baseUrl()函数以在整个应用程序中使用。
让我们假设您将应用加载到something.com/foo/bar/myapp
,其中myapp
是您应用的根目录。在你的引导程序中(这是一个先于其他任何东西运行的脚本,通常用于设置数据库连接等),你必须硬核或以其他方式确定运行应用程序的基本URL,例如:
$baseUrl = "/foo/bar/myapp";
在整个应用程序的其余部分中,您需要使用此变量(如果您的应用程序是面向对象的,静态函数也是合适的),如下所示:
<?php
<html>
<head>
<script src="<?= $baseUrl ?>/js/myscript.js"/>
...
MVC框架以不同的方式处理解析此基本URL,并且一些具有自动执行此功能的功能,但基本过程是相同的。呈现页面时,它将如下所示:
<html>
<head>
<script src="/foo/bar/myapp/js/myscript.js"/>
...
如果您移动应用,则还必须重新定义$ baseUrl变量,但所有路径都会相应更改。
答案 1 :(得分:0)
我不太明白,你是怎么遇到这个问题的。
/ home /您的资产应该在哪里?您的文档根目录中有什么?
您是否尝试过将url domain.com/重写为apache / nginx中的domain.com/home。
答案 2 :(得分:0)
好吧,我只想在两个页面中使用像这样的绝对路径访问样式表
<link rel="stylesheet" type="text/css" href="/home/style.php" />
这应该只是将域名添加到开头。
答案 3 :(得分:0)
在.htaccess文件中写下以下内容:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^http://example.com*$ http://example.com/home/ [R=301,L]