我有一个.htaccess
文件,可将所有网页重定向到index.php
。
的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 )
我花了好几个小时试图弄清楚网址末尾的 /
如何影响所包含文件的布局/样式表,但没有任何成功。任何帮助将不胜感激。
答案 0 :(得分:0)
这可能是由于html中的相对ccs
路径,将最后/
条导线添加到无法生成的css
路径中。
答案 1 :(得分:0)
如果您的浏览器认为您位于www.sitename.com/profile/01234
并尝试加载css样式表或js文件,例如src='style.css'
,则您的浏览器会尝试加载www.sitename.com/profile/style.css
。您要做的是通过制作您的css / js来源src='/style.css'
告诉浏览器始终在您域的根目录中查找该文件。这样,它始终相对于您的根路径。