2011-10-11 70 views
-1

我创建了一个简单的htaccess规则重写/职位/ 24的index.php?工作= 23htaccess的规则断裂的CSS/JS

但出于某种原因,这似乎打破我的整个网站,没有我css规则或js文件已经被应用了。

什么会导致此问题?

我看着周围很多,尝试一些不同的解决方案,但似乎没有任何工作

+0

你能请张贴代码。 – slebetman

+0

你介意给我们提供你正在使用的确切重写规则吗? – Niko

+0

我不好,对不起,这是我用 重写规则 选项+的FollowSymLinks RewriteEngine叙述 规则^工作/([^ /] +)的index.php?工作= $ 1 [NC] –

回答

0

最有可能你的文件无法再找到,因为一切都被改写。您可以为需要的文件添加例外,或排除整个目录。

要排除整个目录刚创建以下.htaccess文件夹:

rewriteEngine off 

排除某些路径,把这个原来的.htaccess以上:

RewriteRule ^(dir1¦dir2¦dir3) - [L] 

您可以测试这个使用Firebug例如,净选项卡显示任何无法加载的文件。

+0

我想这两个选项,但没有人似乎为我工作 –

0

重写规则也适用于CSS和JavaScript网址。看看这些,看看它们是否符合你的重写规则中的模式。如果他们这样做,使用重写条件排除它们。 See the documentation for details.

1

您的重写规则没有任何问题。可能你只是简单地解决你的css/js文件不正确。

让我试着澄清我的意思与一个例子。假设你的目录结构如下:

- index.php 
- .htaccess 
- js/ 
    - default.js 

现在你包括在你的index.php JS文件

<script type="text/javascript" src="js/default.js"></script> 

如果您直接拨打电话的index.php这是可行的 - 但是如果你打电话jobs/24和重写那index.php,它不会。重写不是重定向!客户端不知道它,仍然认为请求的文件在jobs目录中。这意味着浏览器会在以下地方default.js:/jobs/js/default.js

您可以使用绝对pathes的避免这样的问题:

<script type="text/javascript" src="/js/default.js"></script> 
+0

这并没有多大帮助。 此外,我发现使用完整的网址的文件帮助 –