Mod rewrite URL重写和mod_auth_令牌(apache模块)

Mod rewrite URL重写和mod_auth_令牌(apache模块),mod-rewrite,Mod Rewrite,我想重写如下URL: 我的目标: http://monsite.com/my_other_files/55e35373739efc04a34d408c7c28a7b9/50e084f6/my_video.mp4 我的真实道路: http://monsite.com/my_files/55e35373739efc04a34d408c7c28a7b9/50e084f6/my_video.mp4 .htaccess中的我的代码: RewriteRule ^my_other_files/([a-zA-z

我想重写如下URL:

我的目标:
http://monsite.com/my_other_files/55e35373739efc04a34d408c7c28a7b9/50e084f6/my_video.mp4

我的真实道路:
http://monsite.com/my_files/55e35373739efc04a34d408c7c28a7b9/50e084f6/my_video.mp4

.htaccess
中的我的代码:

RewriteRule ^my_other_files/([a-zA-z0-9_-]/[a-zA-z0-9_-]/[a-zA-z0-9_-]*)$
   my_files/$1/$2/$3 [QSA,L]

我该怎么做呢?

老实说,你就快到了

您需要在重写规则中使用前导的
/
,并且不允许在每个路径组件中使用多个字符

尝试:

我在末尾添加了
[NC]
,这样它就不区分大小写,并在最后一个组中添加了
,这样它就可以匹配类似
my_video.mp4

另外,看起来路径组件都是十六进制的,所以我对其进行了一些简化。如果这不是我的准确假设,请尝试以下方法:

RewriteRule ^/my_other_files/([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_.-]+)$
    /my_files/$1/$2/$3 [QSA,NC,L]
在这两种情况下,我都添加了一个换行符以便于易读;这不应该出现在你的实际规则中

另一种方法是只接受
/my\u other\u files/
中的任何内容,并将其重定向到
/myfiles/
,在这种情况下,您可以使用以下规则:

RewriteRule ^/my_other_files/(.+)$ /my_files/$1 [QSA,NC,L]

我希望你能处理好这件事o)

老实说,你就快到了

您需要在重写规则中使用前导的
/
,并且不允许在每个路径组件中使用多个字符

尝试:

我在末尾添加了
[NC]
,这样它就不区分大小写,并在最后一个组中添加了
,这样它就可以匹配类似
my_video.mp4

另外,看起来路径组件都是十六进制的,所以我对其进行了一些简化。如果这不是我的准确假设,请尝试以下方法:

RewriteRule ^/my_other_files/([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_.-]+)$
    /my_files/$1/$2/$3 [QSA,NC,L]
在这两种情况下,我都添加了一个换行符以便于易读;这不应该出现在你的实际规则中

另一种方法是只接受
/my\u other\u files/
中的任何内容,并将其重定向到
/myfiles/
,在这种情况下,您可以使用以下规则:

RewriteRule ^/my_other_files/(.+)$ /my_files/$1 [QSA,NC,L]

我希望你能处理好这件事o)

谢谢您的快速回复,但是我的链接出现了404错误
mod_rewrite
启用了吗?在这条规则之上添加
RewriteEngine并查看,我建议…感谢您的快速响应,但是我的链接出现了404错误
mod_rewrite
启用了吗?在这条规则之上添加
RewriteEngine
是值得的,我建议。。。