mik*_*ike 4 php arrays mod-rewrite get
我想要一个像http:// localhost/folder1/folder2/folder3/file 这样的网址然后我希望mod_rewrite将它转换为$ _GET ['d'],它看起来像d [] = folder1&d [] =文件夹2&d [] = folder3
这可能吗?
谢谢.
对的,这是可能的:
RewriteRule ^(([^/]+/)*)([^/]+)/([^/]+)$ /$1$4?d[]=$3 [QSA,N]
RewriteRule ^([^/]+)$ - [L]
Run Code Online (Sandbox Code Playgroud)
但mod_rewrite并不适合这种工作.实际上,您可以使用N标志快速创建无限循环.
您应该使用PHP来提取其段所请求的URL路径:
$path = strtok($_SERVER['REQUEST_URI'], '?');
$segments = implode('/', ltrim($path, '/'));
Run Code Online (Sandbox Code Playgroud)
然后使用此单个规则重写对您的文件的请求:
RewriteRule ^([^/]+/)+([^/]+)$ $2 [L]
Run Code Online (Sandbox Code Playgroud)