是否在.htaccess中出现了一个目录?

时间:2011-09-11 20:51:16

标签: apache .htaccess alias

我正在使用iWebKit制作一个项目。我在包含文件时,我不想继续链接回框架所在的目录:

<link href="css/style.css" rel="stylesheet" media="screen" type="text/css">
<link href="../css/style.css" rel="stylesheet" media="screen" type="text/css">
<link href="../../css/style.css" rel="stylesheet" media="screen" type="text/css">
<link href="../../../css/style.css" rel="stylesheet" media="screen" type="text/css">

我希望能够在每个其他目录中拥有相同的目录,因此localhost / css / style.css与localhost / some / other / directory / css / style.css相同。

我正在使用Apache,想知道是否有办法用.htaccess

执行此操作

2 个答案:

答案 0 :(得分:3)

使用绝对路径

<link href="/css/style.css" rel="stylesheet" media="screen" type="text/css">

请注意路径中的/

答案 1 :(得分:1)

您可以使用mod_rewrite

执行此操作

为此,将以下内容添加到应用程序根目录中的.htaccess文件中

RewriteEngine On

RewriteRule ^.*/css/([^./]*)\.css$ /css/$1.css [L]

这里正则表达式^.*/css/([^./]*)\.css$最后匹配任何带有/css/any_name.css的字符串,并重写URL以指向根目录中的css文件夹。并且[L]表示如果匹配则它是匹配的最后一条规则。并且$ 1指的是正则表达式的括号部分与URL匹配,后者是样式表的名称

对于更复杂的情况,我建议您在互联网上阅读更多内容。