2012-04-23 116 views
0
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteCond %{REQUEST_URI} !(.*)\.(css|js|htc|pdf|jpg|jpeg|gif|png|ico)$ [NC] 
RewriteRule ^(.*)$ index.php?path=$1 [QSA,L] 

这的.htaccess重定向一切index.php?path=SOMETHING在那里我可以把它捡起来(SOMETHING路径),并显示相应的内容(的意见)。htaccess的 - 重写URL包括CSS和JS

问题是与包括.css/.js文件。

如果我使用www.website.com/something一切正常(css路径就像/css/style.css,它在www.website.com/css/style.css搜索)。但如果我使用www.website.com/something/2所有内容都会崩溃,因为它正在搜索www.website.com/something/css/style.css文件夹。

如何将root(?)每次设置为www.website.com(无论路径是什么)?所以我仍应该访问我的'路径'变量,但包括我的文件时,一切都应该指向网站根,而不是/some/...路径。

+0

你可以尝试澄清一点,你如何包括你的CSS和JS文件?此外,如果CSS是一个文件,独立于给定的网址,那么为什么要使它动态? – Honoki 2012-04-23 14:40:05

回答

2

问题在于如何编写指向css/js/image文件的链接。

而是包括使用相对URL到当前页面的CSS/JS /图片:

href="css/style.css" 

你应该使用相对URL根(通知领先斜线):

href="/css/style.css" 

或使用绝对URL(这将包括域名 - 更不优先的方法)。

这是设计网站(html部分)时,当网站使用Nice网址/ URL重写时的典型错误。这是 - 现在,重写引擎破坏了URL--它是浏览器,首先将它们发送(/something/css/style.css)。

+0

它没有和我一起工作 – 2012-11-27 09:11:59