Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess—;受影响文件夹的可变位置_.htaccess - Fatal编程技术网

.htaccess—;受影响文件夹的可变位置

.htaccess—;受影响文件夹的可变位置,.htaccess,.htaccess,我有一个PHP脚本来生成占位符图像,很像这个服务。我想要一个自定义的,以防止延迟,往往发生在免费的在线服务 我已将此脚本包含在我个人前端样板文件中的文件夹/assets/placeholder/中。这就是为什么我需要一个.htaccess来适应占位符文件夹的当前位置,因为它并不总是根文件夹 脚本采用以下参数:d(维度,例如400、250x100)、bg(背景色)、颜色(文本色)和文本 理想情况下,url的工作方式如下/assets/placeholder/300x200/eaea/333333?

我有一个PHP脚本来生成占位符图像,很像这个服务。我想要一个自定义的,以防止延迟,往往发生在免费的在线服务

我已将此脚本包含在我个人前端样板文件中的文件夹/assets/placeholder/中。这就是为什么我需要一个.htaccess来适应占位符文件夹的当前位置,因为它并不总是根文件夹

脚本采用以下参数:d(维度,例如400、250x100)、bg(背景色)、颜色(文本色)和文本

理想情况下,url的工作方式如下
/assets/placeholder/300x200/eaea/333333?text=Test
,其中文本为常规GET变量

这是我不久前创建的.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]

如果希望运行QSA标志,请将此url
.assets/placeholder/300x200/EAEAEA/333333&text=Test
更改为
.assets/placeholder/300x200/eaeaeaea/333333?text=Test

然后尝试以下代码:

RewriteEngine on
RewriteRule ^assets/placeholder/([^/]*)/([^/]*)/([^/]*)$ index.php?d=$1&bg=$2&color=$3 [QSA]
还可以尝试使用以下代码重定向带有结束斜杠的url:

RewriteCond %{REQUEST_URI} !^([^/]*)/$
RewriteRule assets/placeholder/(.*)$ assets/placeholder/$1/ [L,R=301]

index.php文件是否在根文件夹中?已更新我的原始帖子,以包含正在工作的.htaccess代码。唯一缺少的是在结尾处,但在?之前添加a/?。我从其他地方复制了一些代码,但无法使其适应我的情况。在此处删除了一些注释。。不过,提议的更改没有成功。我仍然需要添加/,当不使用维度(first)变量时,url会附加
Applications/MAMP/htdocs/
,例如
http://localhost/Responsive-Boilerplate-0.1/assets/placeholder/300
变为
http://localhost/Applications/MAMP/htdocs/Responsive-Boilerplate-0.1/assets/placeholder/300/