我有一个 PHP 脚本来生成占位符图像,很像Placehold.it服务。我想要一个定制的,以防止免费在线服务经常出现的延迟。
我已将此脚本包含在我个人前端样板文件中的./assets/placeholder/文件夹中。这就是为什么我需要一个 .htaccess 来适应占位符文件夹的当前位置,因为它并不总是根目录。
该脚本采用以下参数:d(尺寸,例如 400、250x100)、bg(背景颜色)、color(文本颜色)和text。
理想情况下,url 将按以下方式工作./assets/placeholder/300x200/EAEAEA/333333?text=Test
,文本是常规 GET var。
这是我不久前整理的 .htaccess。只要文件位于根目录中,它就可以工作:
RewriteEngine on
RewriteRule ^#([^/]*)/([^/]*)/([^/]*)$ index.php?d=$1&bg=$2&color=$3 [QSA]
一句话,如果我将此文件(index.php)从根目录移动到 /some/other/dir/index.php,我希望 .htaccess 文件仍然可以运行,而无需更改 RewriteBase 或任何东西。
我已经找到了这篇关于此事的文章,但我没有足够的知识来解决这个问题。
提前致谢!
更新:我决定将 .htaccess 文件移动到我的项目的根目录。唯一不起作用的是在末尾添加 / ,但在 ?
## Turn mod_rewrite engine on ##
RewriteEngine On
# No trailing / ?
RewriteCond %{REQUEST_URI} !(.*)/$
# Add the slash.
RewriteRule assets/placeholder/(.*)$ assets/placeholder/$1/ [L,R=301]
# Map parameters to get vars
RewriteRule assets/placeholder/?([^/]*)/?([^/]*)/?([^/]*)/$ assets/placeholder/index.php?d=$1&bg=$2&color=$3 [QSA]