为什么我的重写规则中不能有斜杠?

我正在尝试制作一个.htaccess文件,以创buildSEOurl。

但似乎我不能在mod重写一个斜线,我做错了吗?

我的代码如下:

RewriteEngine on RewriteRule ^(.+)/$ /$1 [L,R=301] RewriteRule ^folder/folder-name index.php?show=folder&folder_id=7 

该页面正确加载,但没有find样式表/图像/ JavaScript!

就好像,页面认为它应该查找相对于“文件夹/文件夹名称”的style / images / js。

如果我把最后一行改为:

 RewriteRule ^folder-folder-name index.php?show=folder&folder_id=7 

然后一切正常加载,所以我很确定这是因为斜线。

任何帮助?

这是因为你在你的JS,CSS等使用相对路径。你有2个选项来解决它:

  1. 只需使用绝对路径在您的CSS,JS,图像文件,而不是一个相对的。 这意味着您必须确保这些文件的路径以http://或斜线/开头。
  2. 您可以尝试在页面标题中添加此标签:

     <base href="/" /> 

一种选择:您可以使用相对于站点根的路径。 即改变:

 <img src="images/some.jpg" /> 

通过

 <img src="/images/some.jpg" /> 

作为图像文件夹在这里:yoursite.com/images