你怎么写一个htaccess RewriteRule来匹配连字符?

时间:2018-03-29 01:55:54

标签: .htaccess mod-rewrite

我想将imi目录中的所有php文件转换为html

.htaccess规则:

RewriteRule ^imi/([0-9|a-z]*).html$ imi/$1.php

以下正确重写:

  • Imi / abc.php to imi / abc.html
  • Imi / 6s.php to imi / 6s.html
  • Imi / hi4.php到imi / hi4.html
  • Imi / 5.php to imi / 5.html
  • Imi / ho12bc.php到imi / ho12bc.html
  • Imi / miss.php to imi / miss.html

而不是:

  • Imi / abc-1.php to imi / abc-1.html
  • Imi / 6s-my.php to imi / 6s-my.html
  • Imi / hi4-oe-5.php to imi / hi4-oe-5.html
  • Imi / 5-lb.php to imi / 5-lb.html
  • Imi / ho12bc-123-us.php to imi / ho12bc-123-us.html
  • Imi / miss-sir.php to imi / miss-sir.html

为什么-的地址不起作用

1 个答案:

答案 0 :(得分:0)

您的重写规则应该包含连字符作为匹配模式中的第一个字符。此外,您不应该在那里需要管道字符。试试这个:

RewriteRule ^imi/([-0-9a-z]*).html$ imi/$1.php