我正在尝试处理应用程序的多个区域,但 URL 没有按预期重写。
这是 .htaccess 文件:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^division/(.*)/section/(.*)$ ./index.php?division=$1§ion=$2
RewriteRule ^division/(.*)$ ./index.php?division=$1
RewriteRule ^area/(.*)$ ./index.php?area=$1
预期:
如果 URI 匹配
division/some_division/section/some_section
重写为index.php?division=some_division§ion=some_section
如果没有定义部分 (
section/some_section
),请转到第二条规则 -如果 URI 匹配
division/some_division
仅重写为index.php?division=some_division
如果没有定义划分,并且URI 匹配
area/some_area
重写为index.php?area=some_area
我几乎可以肯定我可以结合前两个规则,我试过这个正则表达式,但它没有用:
^division/(.*)( /section/(.*) )?$
它应该是/section/some_section
一个可选值。
不幸的是,没有任何效果。有任何想法吗?