我想使用REGEX表达式获取一个国家的ISO代码(两个字母(
例如,对于国家/地区Ireland
,ISO代码为ie
。ISO代码可以在斜线/
之后或最后一个.
之后找到
这是我的RewriteRule
:
RewriteRule ^gallery/country(?:/[^/]*([a-zA-Z-9]{2}))?/?$ gallery/gallery.php?country=$1 [L,QSA]
以下是一些有效的url。。。如果可用,我想选择ISO代码:
画廊/国家
画廊/国家/
画廊/国家/ie
画廊/国家/ie
/
画廊/国家/爱尔兰
画廊/国家/爱尔兰/
画廊/乡村/爱尔兰爱情。ie
画廊/乡村/爱尔兰爱情。ie
/
画廊/国家/爱尔兰.69-love.ie
/
我试着调整模板公式,我几乎所有的seo url都使用这个公式,但我在这个方面遇到了困难。以下是我迄今为止所做的工作。
^gallery/country(?:/[^/]*([a-zA-Z-9]{2}))?/?$
https://regex101.com/r/88azeh/6
您能根据您显示的示例尝试以下操作吗。在引用组中捕获.
之后的所有内容,并在此处重写时使用它。请确保在测试任何URL之前清除浏览器缓存。
RewriteEngine ON
RewriteCond %{QUERY_STRING} ^$
RewriteRule .([a-zA-Z]+){2}/?$ gallery/gallery.php?country=$1 [L]
以上不会检查URI的条件,为了使其更具体到库,请尝试以下操作。
RewriteEngine ON
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^gallery/country.*.([a-zA-Z]+){2}/?$ gallery/gallery.php?country=$1 [L]
您可以使用
^gallery/country/(?:.*[/.])?([a-zA-Z]{2})/?$
请参阅regex演示。详细信息:
^
-开始输入gallery/country/
-文字字符串(?:.*[/.])?
-可选模式匹配.*
-除了换行符之外的任何零个或多个字符,尽可能多[/.]
-/
或.
([a-zA-Z]{2})
-第1组:两个ASCII字母/?
-可选/
$
—字符串结束