我正在尝试使用 htaccess 重写规则来映射多个 GET 变量,但并非所有变量都是必需的。我已经对变量进行了排序,以便始终需要 x,如果设置了 y,则必须设置 z,等等。所以我需要映射看起来像这样:
example.com/section/topic/sub
映射到
example.com/?x=section&z=topic&y=sub
但是下面的代码会导致内部错误,但如果我只有一个重写规则,它就可以工作。
Options +FollowSymLinks
Options -indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ([^/]+)/? [NC]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)$ ?x=$1&z=$2&y=$3&r=$4 [NC,L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ ?x=$1&z=$2&y=$3 [NC,L]
RewriteRule ^([^/]+)/([^/]+)$ ?x=$1&z=$2 [NC,L]
RewriteRule ^([^/]+)$ ?x=$1 [NC,L]
</IfModule>
我还需要确保 url可以有一个尾随 /,但不需要它。
您可能会说,我是 htaccess 的新手。
谢谢你