.htaccess htaccess URL缩短程序重写规则

0tdrvxhp  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(136)

我有一个工作的重写规则,例如http://mydomain/stack重写到decoder.php?decode=stack,然后重定向到正确的网站,因为decoder.php在其数据库中查找重定向应该是什么。

Options +FollowSymLinks -Indexes -MultiViews  
RewriteEngine on
RewriteRule ^phpmyadmin$ phpmyadmin [L]
RewriteRule ^([\w\d-]{1,})$ decoder.php?decode=$1 [L]

但现在我需要“更多级别”。首先我尝试了一个点。例如http://mydomain/l1.stack,但我无法让我的重写规则工作。无论如何:更好的方法是将http://mydomain/l1/stack重写为decoder.php?level=l1&decode=stack或将http://mydomain/a1/wH4tever.重写为decoder.php?level=a1&decode=wH4tever.。我想要的“级别”应该在.htaccess中固定,但“解码”可以是任何字符串。
有一个问题:我没有得到任何RewriteRule来处理我想要的内容:-(。

7dl7o3gd

7dl7o3gd1#

下面是一个简单的规则,用于一个单一的,固定的和字面的“级别”字符串“l1”:

RewriteEngine on
RewriteRule ^l1/([\w\d-]{1,})$ decoder.php?level=l1decode=$2 [L]
RewriteRule ^([\w\d-]{1,})$ decoder.php?decode=$1 [L]

如果有多个固定文字“level”字符串(这里是“l1”或“a1”),则应该这样做。

RewriteEngine on
RewriteRule ^(l1|a1)/([\w\d-]{1,})$ decoder.php?level=$1decode=$2 [L]
RewriteRule ^([\w\d-]{1,})$ decoder.php?decode=$1 [L]

这将是通用的变体:

RewriteEngine on
RewriteRule ^([\w\d-]{1,})/([\w\d-]{1,})$ decoder.php?level=$1decode=$2 [L]
RewriteRule ^([\w\d-]{1,})$ decoder.php?decode=$1 [L]

自我测试:htaccess.madewithlove.com

相关问题