使用htaccess重写规则访问相对的CSS / JS文件

罗伯特·麦金托什

最近有人问我是否可以使我的朋友服务器地址更加用户友好。他当前的网址如下所示:

http://wwww.example.com/site/index.php?page=home
http://wwww.example.com/site/index.php?page=about/john
http://wwww.example.com/site/index.php?page=portfolio/concept-art/2013

他希望他们看起来像这样

http://wwww.example.com/site/home
http://wwww.example.com/site/about/john
http://wwww.example.com/site/portfolio/concept-art/2013

我以为这很简单,所以我在重写后写了这个。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !/(admin|css|fonts|ico|include|js)/
RewriteRule ^([^_]*)$ index.php?page=$1 [L]

这似乎适用于像

http://wwww.example.com/site/home

但是对于这样的事情

http://wwww.example.com/site/about/john

CSS或JS均不会加载。因此,我现在通过将所有文件都设置为绝对路径来解决该问题,但我担心我的朋友将添加一个新插件或其他内容,而忘记了他必须将其设置为绝对路径。

我的问题

我可以更改或添加我的htaccess文件以使css和js文件以相对路径加载吗?如果是这样,我该怎么办?

阿努巴瓦

最好使用以下规则:

RewriteEngine On
RewriteBase /site/

RewriteCond %{REQUEST_FILENAME} !/(admin|css|fonts|ico|include|js)/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+?)/?$ index.php?page=$1 [L,QSA]

然后,对于css / js / images,最好在css,js,图像文件中使用绝对路径,而不要使用相对路径。这意味着您必须确保这些文件的路径以http://或斜杠开头/

另外,您可以尝试将其添加到页面标题中:

<base href="/" />

要么

<base href="http://domain.com/site/" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用htaccess拒绝访问css /和js /文件夹或重定向/重写到index.html

来自分类Dev

.htaccess文件的网址重写规则

来自分类Dev

htaccess阻止直接访问文件,同时允许重写规则访问文件

来自分类Dev

htaccess阻止直接访问文件,同时允许重写规则访问文件

来自分类Dev

如何忽略使用.htaccess重写CSS文件

来自分类Dev

使用.htaccess文件重写

来自分类Dev

.htaccess文件重写规则中的连字符

来自分类Dev

htaccess重写规则以隐藏实际文件

来自分类Dev

htaccess重写规则(文件夹除外)

来自分类Dev

.htaccess使用子文件夹重写规则强制使用SSL

来自分类Dev

重写规则覆盖子文件夹htaccess规则?

来自分类Dev

使用.htaccess重写规则重定向到服务器上的其他文件夹

来自分类Dev

我无法在我的.htaccess文件中使用第二条重写规则

来自分类Dev

根目录中使用.htaccess的动态子文件夹的重写规则

来自分类Dev

在Wordpress多站点htaccess文件上使用自定义重写规则

来自分类Dev

htaccess:排除任何htaccess规则重写目录中的文件

来自分类Dev

如何使用.htaccess规则从父目录加载.css文件?

来自分类Dev

htaccess重写规则后无法获取索引文件

来自分类Dev

.htaccess重写两个或多个PHP文件的规则

来自分类Dev

htaccess重写规则并删除php文件扩展名

来自分类Dev

.htaccess重写规则以保留文件夹的异常

来自分类Dev

子文件夹的htaccess重写规则(漂亮的url)

来自分类Dev

.htaccess重写未知子文件夹的规则

来自分类Dev

htaccess文件无法识别和/或处理重写规则

来自分类Dev

mod重写不从htaccess文件中读取规则

来自分类Dev

htaccess重写规则后无法获取索引文件

来自分类Dev

.htaccess重写规则以保留文件夹的异常

来自分类Dev

使用.htaccess文件重写javascript文件url

来自分类Dev

使用重写规则从URL中删除.php后,css和img文件具有404

Related 相关文章

  1. 1

    使用htaccess拒绝访问css /和js /文件夹或重定向/重写到index.html

  2. 2

    .htaccess文件的网址重写规则

  3. 3

    htaccess阻止直接访问文件,同时允许重写规则访问文件

  4. 4

    htaccess阻止直接访问文件,同时允许重写规则访问文件

  5. 5

    如何忽略使用.htaccess重写CSS文件

  6. 6

    使用.htaccess文件重写

  7. 7

    .htaccess文件重写规则中的连字符

  8. 8

    htaccess重写规则以隐藏实际文件

  9. 9

    htaccess重写规则(文件夹除外)

  10. 10

    .htaccess使用子文件夹重写规则强制使用SSL

  11. 11

    重写规则覆盖子文件夹htaccess规则?

  12. 12

    使用.htaccess重写规则重定向到服务器上的其他文件夹

  13. 13

    我无法在我的.htaccess文件中使用第二条重写规则

  14. 14

    根目录中使用.htaccess的动态子文件夹的重写规则

  15. 15

    在Wordpress多站点htaccess文件上使用自定义重写规则

  16. 16

    htaccess:排除任何htaccess规则重写目录中的文件

  17. 17

    如何使用.htaccess规则从父目录加载.css文件?

  18. 18

    htaccess重写规则后无法获取索引文件

  19. 19

    .htaccess重写两个或多个PHP文件的规则

  20. 20

    htaccess重写规则并删除php文件扩展名

  21. 21

    .htaccess重写规则以保留文件夹的异常

  22. 22

    子文件夹的htaccess重写规则(漂亮的url)

  23. 23

    .htaccess重写未知子文件夹的规则

  24. 24

    htaccess文件无法识别和/或处理重写规则

  25. 25

    mod重写不从htaccess文件中读取规则

  26. 26

    htaccess重写规则后无法获取索引文件

  27. 27

    .htaccess重写规则以保留文件夹的异常

  28. 28

    使用.htaccess文件重写javascript文件url

  29. 29

    使用重写规则从URL中删除.php后,css和img文件具有404

热门标签

归档