我希望有一个重写规则,它将请求从mywebsite/API/foobar.csv
路由到mywebsite/API/data.php?code=foobar
,其中foobar是用户输入的代码,并且将成为data.php的Get参数。
为此,我在.htaccess
文件夹的API
中使用以下代码:
RewriteEngine On
RewriteRule ([^.]+)\.csv data.php?code=$1 [L,NC,QSA]
这是按预期工作的,但它也会路由其他网址,例如:
mywebsite/API/products/foobar.csv
mywebsite/API/getProducts.php?code=foobar.csv
如何编写此规则,以便只有在此文件夹中为csv发出请求时才会路由它?
答案 0 :(得分:1)
如何编写此规则,以便只有在此文件夹中为csv发出请求时
像这样调整你的正则表达式:
RewriteEngine On
RewriteRule ^([\w-]+)\.csv$ data.php?code=$1 [L,NC,QSA]
现在它不匹配products/foobar.csv
,因为在捕获的部分中不允许/
。