我有一个将所有页面重定向到index.php
的.htaccess
文件。
index . php
<?php
$url = $_SERVER['REQUEST_URI'];
$url_array=explode("/",$url);
array_shift($url_array);
$url = $url_array[0].'.php';
include($url_array[0].'.php');
?>
这个页面接受所有传入的url格式为www.sitename.com/profile/01234
,并将每个部分存储在数组的单独一行中。第一行($url_array[0]
)是页面(概要文件)的名称,放在include语句中。
当我去www.sitename.com/profile
它包括"profile.php"完美,但只要我添加一个 /
或 /01234
然后格式化的"profile.php"得到所有混乱。
我已经使用print_r($url_array);
来检查数组,一切看起来都很好。
Array ( [0] => people [1] => 01234 )
我花了几个小时试图弄清楚如何在url结束的 /
将影响包含文件的布局/样式表,但没有任何成功。任何帮助都将非常感激。
如果你的浏览器认为你在www.sitename.com/profile/01234
,并试图加载一个css样式表或js文件,例如src='style.css'
,你的浏览器将尝试加载www.sitename.com/profile/style.css
。你要做的是告诉浏览器总是通过使你的css/js源src='/style.css'
在你的域的根查找该文件。这样,它总是相对于你的根路径。
这可能是由于在html中相对ccs
路径,添加最后一个/
导致没有现有的css
路径生成。