如果可能的话,我希望使用REGEX表达式获取图像的id。ID是在/之后或在最后一个点.之后的数字,如下所示:
gallery/image/89
gallery/image/trip-to-ireland.89但是,即使没有可用的ID,以下内容也应该与REGEX表达式匹配:
画廊/图像
画廊/图像/
画廊/图像/89
画廊/图像/89/
画廊/图片/爱尔兰
画廊/图片/爱尔兰/
画廊/图片/爱尔兰之旅.89
gallery/image/trip-to-ireland.89/
gallery/image/trip-2-to-ireland.4589/
小心,下面的不应该与匹配(要么是因为有很多/,要么没有. (因此它不是真正的id))
“-不应该匹配-”
画廊/图像//
画廊/图像/89//
画廊/图像/4m94
画廊/图像/94/notok
画廊/图像/4m945m6
到目前为止,这是我的原则,但效果并不完美.
RewriteRule ^gallery/image(?:/[^/]*?([0-9]+))?/?$ gallery/gallery.php?image=$1 [L,QSA]发布于 2021-01-08 22:02:14
您可以使用
^gallery/image(?:/(?:[^/\d]+/?|(?:[^/]*[/.])?(\d+)/?)?)?$见regex演示。
详细信息
^ -字符串的开始gallery/image -一个文字字符串(?:/(?:[^/\d]+/?|(?:[^/]*[/.])?(\d+)/?)?)? -一个可选的序列:/ -a / char(?:[^/\d]+/?|(?:[^/]*[/.])?(\d+)/?)? -一个可选的序列:[^/\d]+/? -除/和位数以外的任何一个或多个字符,然后是可选的/| -或(?:[^/]*[/.])? -从/到最后一个/或.尽可能多地使用零或多个字符的可选序列(\d+) -第1组:一个或多个数字/? -一个可选的/字符$ -字符串的末端。https://stackoverflow.com/questions/65636803
复制相似问题