.htaccess 重定向,发送最后一个目录作为参数

问题描述 投票:0回答:1

我需要将 domain.com/kiosk/m42domain.com/kiosk/m42/ 重定向到 domain.com/kiosk/?m42 m42 — 是一个可更改的部分,可能是 s41 p39 或其他...

我已经尝试过了

RewriteEngine On
RewriteCond %{REQUEST_URI}  ^(.*)/kiosk/(\w+)/?$
RewriteRule  ^   %1/kiosk/?%2&%{QUERY_STRING}  [R=301,L]

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/kiosk
RewriteRule (.*)/([^/]+)/?$ https://my-bakery.ru/kiosk/?$2 [L,R=301,QSA]

但这效果不太好。我哪里搞错了?

.htaccess
1个回答
0
投票

您的问题在细节上有点模糊(我在上面对此进行了评论),但我假设以下应该是您正在寻找的内容:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^([^&=]+)$
RewriteRule ^/?kiosk/?$ /kiosk/%1 [R=301,L]

RewriteRule ^/?kiosk/([^/]+)/?$ /kiosk/?$1 [L,QSA]

您可以在中央http服务器的主机配置中实施此类规则。如果您无权访问该文件(请阅读:如果您使用的是简单的网络空间提供商),您也可以使用distributed配置文件(通常称为“.htaccess”),但通常应首选第一个选项。如果您选择替代方案,您需要确保该文件位于 http 主机

DocumentRoot
文件夹中,该文件夹对于 http 服务器进程是可读的,并且已通过以下方式启用了对此类文件内此类规则的考虑
AllowOverride
指令。

© www.soinside.com 2019 - 2024. All rights reserved.