1

我想关注网址:

nl/provincies/Limburg/plaats/#CITY# 例如 : nl/provincies/Limburg/plaats/Amsterdam

重写为section.php?sid=plaatsen$plaats=#CITY#

当然,通过使用这并不是那么困难:

^nl/provincies/plaatsen/(.*)$ section.php?sid=plaatsend&plaats=$1

但是当我也想这样做时问题就来了:

nl/provincies/#STATE#

例如 : nl/provincies/Limburg

重写为section.php?sid=plaatsen$province=#STATE#

现在问题来了,这不起作用。它看到 provincies/Limburg/plaats/Echt

作为一个省,该省:林堡/普拉茨/埃赫特

我试图发挥创造力并使用:

RewriteCond %{REQUEST_URI} !^nl/provincies/plaats/(.*)$
RewriteRule ^provincies/(.*)$ section.php?sid=plaatsen&province=$1

RewriteCond %{REQUEST_URI} ^nl/provincies/plaats/(.*)$
RewriteRule ^nl/provincies/plaatsen/(.*)$   section.php?sid=plaatsend&plaats=$1

任何想法/解决方案?多谢你们 !

4

1 回答 1

0
^nl/provincies/plaatsen/(.*)$ section.php?sid=plaatsend&plaats=$1

...这永远不会匹配您提供的 URL?

无论如何,你正在寻找的是这样的:

RewriteRule ^(.+)/provincies/([^/]+)$         section.php?sid=plaatsend&plaats=$2
RewriteRule ^(.+)/provincies/.+/plaats/(.+)$  section.php?sid=plaatsend&province=$2

或更通用:

RewriteRule ^(.+)/provincies/([^/]+)(/plaats/)?(.+)?$ section.php?sid=plaatsend&province=$2&plaats=$4&locale=$1

但是,对于像这样的复杂重写,我真诚地建议在 PHP 中进行

于 2013-07-17T11:31:31.237 回答