问题描述
好吧,我真的是 htaccess 的新手,我所做的一切都是反复试验。
我必须为我的网站制作几个登陆页面,并且需要控制 htaccess 中的 URL,以便它们在 google 等中看起来不错。
#Landingpages ex.
RewriteRule ^colors/ article.PHP
RewriteRule ^sizes/ article.PHP
RewriteRule ^categories/ article.PHP
因此,当我输入网址 www.domain.com/colors 时,它会转到 article.PHP,在那里我可以使用 $_SERVER['REQUEST_URI']
获取网址并获取“/colors”以在我的数据库中进行查找
我会适当地拥有其中的 25 个。
我也想做 /colors/green 并将其用作我的数据库的键,但我不想为它添加如下的 RewriteRule,因为那样我会有很多
RewriteRule ^colors/green article.PHP
注意:我还有其他页面不想进入 article.PHP,例如 /basket 或 /profile 等。
执行上述操作的最佳方法是什么?
我可以在一个 RewriteRule 中实现吗?
我可以发送ex这个词吗?颜色作为 article.PHP 的获取参数?
解决方法
您可以使用正则表达式交替和捕获组从可以作为 GET
参数传递的 URI 中捕获值:
RewriteEngine on
RewriteRule ^(colors(?:/green)?|sizes|categories)/ article.php?id=$1 [L,QSA,NC]