我将index.php和.htaccess放在localhost / domain / us目录下。 在.htaccess中,我有
Options -Indexes
RewriteEngine On
RewriteRule ^/?([a-zA-Z_]+)$ index.php [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)$ index.php [L]
当我输入url“localhost / domain / us / aaa”时,我正确地获得了index.php。 但是当我输入“localhost / domain / us / aaa / bbb”时,我可以访问index.php页面,但它已经搞砸了。所有的CSS文件似乎都不起作用,图像出现了。
在index.php中,我使用了
<link rel="stylesheet" href="css/bt.css" type="text/css" media="screen" />
<img src="logo/pic.gif" width="50" alt="logo">
logo和css都是localhost / domain / us下的文件夹。 为什么目录路径不能正常工作?
答案 0 :(得分:0)
您的css和徽标使用相对路径引用。这意味着当您访问localhost / domain / us / aaa / bbb页面时,浏览器将尝试从localhost / domain / us / aaa / css / bt.css和localhost / domain / us / aaa下载css和徽标/logo/pic.gif网址。
因此,您可以在引用中使用绝对路径,也可以向.htaccess添加新规则以捕获css和徽标文件夹。例如。对于徽标文件夹:
RewriteRule /?(logo/.*)$ $1 [L]
答案 1 :(得分:0)
好的,现在你已经遇到了人们在切换到漂亮的URL方案时遇到的最常见的问题:P解决方案也很简单,只需在你的css,js,images文件而不是相对文件中使用绝对路径。这意味着您必须确保这些文件的路径以http://
或斜杠/
开头。
对于您的情况,请使用此:
<link rel="stylesheet" href="/css/bt.css" type="text/css" media="screen" />
<img src="/logo/pic.gif" width="50" alt="logo">