我需要一个正则表达式来用连字符替换下划线

时间:2015-08-31 13:35:54

标签: regex .htaccess codeigniter hyphen

我的申请有问题。我将CodeIgniter用于我的项目,禁止在classname中使用连字符(允许使用下划线)。但我想用连字符分隔URL中的单词。所以我需要用正则表达式重写url来用htaccess文件中的连字符替换下划线。 想法?

例如:

我有很多链接:

  • domain.tld/I_need_regex

  • domain.tld/I-need-help

我希望:

  • domain.tld/I-need-regex

  • RewriteRule ^(.*)_(.*)$ /$1-$2

在htaccess文件中,应该有:

local letter=expr substr $s $i $j;

2 个答案:

答案 0 :(得分:1)

您可以根据需要使用路线更改网址。

$route['link-to_something'] = 'class_name/some_function';

编辑后

: 试试这个:

RewriteRule ^([^_]*)_([^_]*_.*) $1-$2 [N]
RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301]

答案 1 :(得分:0)

经过长时间的搜索后确定。我有解决方案:

转到Codeigniter Routes regex - using dashes in controller/method names