.htaccess虚拟目录映射和提取变量
我想将请求映射如下.htaccess虚拟目录映射和提取变量,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我想将请求映射如下 http://www.example.com/my_folder/XYZ/card.jpg 进入 我的目录结构如下 .htaccess script_folder/ - image.php 请注意,my_文件夹是一个不存在的虚拟文件夹。该文件夹在其任何父目录中都没有任何.htaccess。我正在使用mod_重写 到目前为止,我已经设法以不同的方式编写了这段代码,但运气不好 RewriteBase / Rew
http://www.example.com/my_folder/XYZ/card.jpg
进入
我的目录结构如下
.htaccess
script_folder/
- image.php
请注意,my_文件夹是一个不存在的虚拟文件夹。该文件夹在其任何父目录中都没有任何.htaccess。我正在使用mod_重写
到目前为止,我已经设法以不同的方式编写了这段代码,但运气不好
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RedirectMatch "^/my_folder/(.*)/card.jpg" "image.php?parameter=$1"
请帮助我更正我的htaccess您将mod alias与mod rewrite混用。重定向匹配是差异模块(mod alias)的一部分 试试这个:
RedirectMatch ^/my_folder/(.+)/card.jpg$ /script_folder/image.php?perameter=$1
这将重定向到/my_folder/xyz/card.jpg到/script_folder/image.php?perameter=xyz将地址栏从键入的url更改为新的url。如果希望浏览器停留在键入的url上,可以使用以下基于mod rewrite的解决方案:
RewriteEngine on
RewriteRule ^my_folder/(.+)/card\.jpg$ /script_folder/image.php?perameter=$1 [L]
适合我的目的,但在进一步检查后,我发现它允许像my_folder/ABC/DEF/card.jpg这样的URL也被重定向。非常感谢您将模式(+.+)更改为([^/]+)以匹配uri的确切部分。
RewriteEngine on
RewriteRule ^my_folder/(.+)/card\.jpg$ /script_folder/image.php?perameter=$1 [L]