Php .htaccess在最后一个斜杠后获取值
我的代码:Php .htaccess在最后一个斜杠后获取值,php,regex,.htaccess,mod-rewrite,Php,Regex,.htaccess,Mod Rewrite,我的代码: RewriteCond %{REQUEST_URI} /category/.*/([^/]+)/? [NC] RewriteCond %{REQUEST_URI} !category\.php [NC] RewriteRule .*/category.php?cat=%1 [L,NC,QSA] 我想从URL中获取最后一个单词作为$\u get['cat'],它是有效的,但当我只在URL中输入一两个斜杠时,它就不起作用了 https://example.com
RewriteCond %{REQUEST_URI} /category/.*/([^/]+)/? [NC]
RewriteCond %{REQUEST_URI} !category\.php [NC]
RewriteRule .*/category.php?cat=%1 [L,NC,QSA]
我想从URL中获取最后一个单词作为$\u get['cat']
,它是有效的,但当我只在URL中输入一两个斜杠时,它就不起作用了
https://example.com/category - don't work
https://example.com/category/motorization - don't work
https://example.com/category/motorization/cars - work
https://example.com/category/motorization/cars/audi -work
您可以使用此规则捕获
$1
中/category/
之后的任何内容:
Options -MultiViews
RewriteEngine On
RewriteRule ^/?category(?:/(?:.*/)?([^/]+))?/?$ category.php?cat=$1 [L,NC,QSA]
当然只有最后一个有效,因为你的情况需要四个斜杠。。。你怎么会想到
https://example.com/category当您要求从/category/
开始整个工作时,
会起作用。。。