漂亮 url 从 play.php?v=lorem-ipsum 到 play/lorem-ipsum

pretty url from play.php?v=lorem-ipsum to play/lorem-ipsum

我有这个url:

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

的文件夹

请帮忙

so play/ is missing.
maybe because I have a folder named play

不,它丢失了,因为 </code> 仅包含您使用正则表达式实际 <em> 捕获的部分 </em>,即 <code>(...) 内的部分。

您想要 RewriteRule ^ /play/%1? [R=301,L,NE](除非您希望 play 部分也是动态的,否则您还必须捕获那个地方的任何内容。)

maybe because I have a folder named play

虽然 可以 导致其他问题,但如果您仍然激活了 MultiViews,那么在“假”之间有部分重叠的情况下应该停用它URL,以及实际存在的文件。