我有个网址:
example.com/play.php?v=lorem-ipsum 希望它是:
example.com/play/lorem-ipsum以下是我的尝试:
RewriteCond %{THE_REQUEST} \s/+play\.php\?v=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L,NE]结果:
example.com/lorem-ipsum所以play/失踪了
也许是因为我有一个名为play的文件夹
请帮帮忙
发布于 2022-03-14 07:27:30
所以玩/不见了。
也许是因为我有一个叫做play的文件夹
没有,因为$1只包含您使用正则表达式实际捕获的部分,即(...)中的部分。
您想要RewriteRule ^ /play/%1? [R=301,L,NE] (除非您希望play部件也是动态的,那么您也必须捕获该位置上的任何内容)。
可能是因为我有一个名为play的文件夹
这可能会导致额外的问题,但是,如果您仍然激活了MultiViews,那么在“假”URL和实际存在的文件之间有如此部分重叠的情况下,应该将其停用。
https://stackoverflow.com/questions/71463634
复制相似问题