【问题标题】:URL Rewriting, many "folders" to variableURL重写,许多“文件夹”到变量
【发布时间】:2011-11-19 10:26:08
【问题描述】:

我正在重写我网站上的一些 url,但我的第二个重写规则有问题:

RewriteRule ^(fr|en)/(home|works|contact|service)$ /index.php?language=$1&page=$2 [L]

当我尝试访问此页面时,页面内容加载良好,但 css 不是。我的样式表在 resources/css/ 中,当我转到像 website.net/en/works 这样的页面时,它是从 en/resources/ 加载的css.

我的其他重写规则如下:

RewriteRule ^(fr|en)$ /index.php?language=$1 [L]
RewriteRule ^(fr|en)/(home|works|contact|service)$ /index.php?language=$1&page=$2 [L]
RewriteRule ^(fr|en)/resume$ /resources/documents/$1/resume.pdf [L]

第一条和最后一条规则都很好,我真的不明白为什么第二条不起作用。

提前致谢

【问题讨论】:

  • 能否准确显示您正在使用的 html。这似乎是一个相对 url 被使用。

标签: apache .htaccess url url-rewriting


【解决方案1】:

如果没有您正在使用的 HTML,这只是一个有根据的猜测。当从 /en/resources/css 加载 css 时,您可能需要检查用于 css 的 url。如果是

<link rel="stylesheet" type="text/css" href="resources/css">

它从 /en/resources/css 正确加载。要从 /resources/css 加载,url 需要是

<link rel="stylesheet" type="text/css" href="/resources/css">

这将强制从 /resources/css 而不是 /en/resources/css 加载

这可能会有所帮助,但就像我说的那样,只是猜测,没有在您的 html 中看到链接标签。

【讨论】:

  • 对不起,我没想到它可能来自 HTML。但你是对的,这解决了我的问题。谢谢!
猜你喜欢
  • 2010-11-07
  • 2013-11-08
  • 1970-01-01
  • 2018-01-01
  • 2012-03-09
  • 2012-05-23
  • 1970-01-01
  • 2023-04-07
  • 2014-12-26
相关资源
最近更新 更多