我创建了一个简单的htaccess规则重写/职位/ 24的index.php?工作= 23htaccess的规则断裂的CSS/JS
但出于某种原因,这似乎打破我的整个网站,没有我css规则或js文件已经被应用了。
什么会导致此问题?
我看着周围很多,尝试一些不同的解决方案,但似乎没有任何工作
我创建了一个简单的htaccess规则重写/职位/ 24的index.php?工作= 23htaccess的规则断裂的CSS/JS
但出于某种原因,这似乎打破我的整个网站,没有我css规则或js文件已经被应用了。
什么会导致此问题?
我看着周围很多,尝试一些不同的解决方案,但似乎没有任何工作
最有可能你的文件无法再找到,因为一切都被改写。您可以为需要的文件添加例外,或排除整个目录。
要排除整个目录刚创建以下.htaccess
文件夹:
rewriteEngine off
排除某些路径,把这个原来的.htaccess
以上:
RewriteRule ^(dir1¦dir2¦dir3) - [L]
您可以测试这个使用Firebug例如,净选项卡显示任何无法加载的文件。
我想这两个选项,但没有人似乎为我工作 –
重写规则也适用于CSS和JavaScript网址。看看这些,看看它们是否符合你的重写规则中的模式。如果他们这样做,使用重写条件排除它们。 See the documentation for details.
您的重写规则没有任何问题。可能你只是简单地解决你的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>
这并没有多大帮助。 此外,我发现使用完整的网址的文件帮助 –
你能请张贴代码。 – slebetman
你介意给我们提供你正在使用的确切重写规则吗? – Niko
我不好,对不起,这是我用 重写规则 选项+的FollowSymLinks RewriteEngine叙述 规则^工作/([^ /] +)的index.php?工作= $ 1 [NC] –