【问题标题】:Htaccess keep images and cssHtaccess 保留图像和 css
【发布时间】:2017-06-27 20:25:26
【问题描述】:

我有一个这样的文件夹结构:

  • index.php
  • css/style.css
  • images/image.png
  • .htaccess

在我的 htaccess 中,我想添加一些规则以创建一个如下所示的 URL:home/5/6 转到页面:index.php?var1=5&var2=6

home/5 到 index.php?var1=5 按照我的方式工作:

RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^home/(.*)$ index.php?var1=$1
RewriteCond %{REQUEST_URI} \.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^home/(.*)$ $1 [NC,L]

但是对于 2 个(或更多)变量,将其添加到我的 htaccess 时,css 和图像不再加载:

RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^home/(.*)/(.*)$ index.php?var1=$1&var2=$2
RewriteCond %{REQUEST_URI} \.(?:css|js|jpe?g|gif|png)$ [NC]
RewriteRule ^home/(.*)/(.*)$ $2 [NC,L]

在图像和 css 标签中我只使用相对路径。

【问题讨论】:

  • @starkeen 看起来是的,但是使用基本 href=/ 所有文件路径将从根目录开始,而我的工作目录可能位于未知子文件夹/位置

标签: css image .htaccess path


【解决方案1】:

好吧,我是在其他人的帮助下发现的,这是我的解决方案:

RewriteCond %{REQUEST_URI} !\.(?:css|js|jpe?g|gif|png||ttf|woff)$ [NC]
RewriteRule ^home/(.*)/(.*)$ index.php?var1=$1&var2=$2 [NC,L]

RewriteCond %{REQUEST_URI} \.(?:css|js|jpe?g|gif|png|woff2|ttf|woff)$ [NC]
RewriteRule ^(.*)/assets/(.*)$ assets/$2 [NC,L]

通过知道我所有的样式表、图像和其他资产都位于文件夹 assets 内的子文件夹中,我能够将重写的路径与真实路径分开,然后继续。

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 2018-06-29
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多