我有一组文件,我想重定向到另一组文件
文件和重定向文件的示例列表
http://www.example.com/test-1-constant/ > http://www.example.com/test-constant-1/
http://www.example.com/test-2-constant/ > http://www.example.com/test-constant-2/
http://www.example.com/test-3-constant/ > http://www.example.com/test-constant-3/
我有这样的代码,没有带来所需的结果(未在“-”之间获取1,2,3之间
RewriteRule ^(test-)(.+)(-constant)$ /test-constant-$2 [L,NC,R=301]
谢谢您的帮助
答案 0 :(得分:1)
这可能就是您要寻找的:
RewriteEngine on
RewriteRule ^/?test-(\d+)-constant/?$ /test-constant-$1/ [NC,R=301]
您在处理斜杠时遇到了问题,可以将使用的正则表达式增强为更精确。
该rul将在http服务器主机配置或动态配置文件(“ .htaccess”样式文件)中同样起作用。如果可以的话,您绝对应该首选firsts选项。
在您的问题中,您写了那些URL所针对的“文件”。上面的规则集将其视为理所当然。如果这些仅是实际的(虚拟)文件夹,那么如果实际的URL可以更长,那么您需要对模式进行一些修改:
RewriteEngine on
RewriteRule ^/?test-(\d+)-constant(/.*)$ /test-constant-$1$2 [NC,R=301]