Php .htaccess中的语言参数映射不正确

Php .htaccess中的语言参数映射不正确,php,regex,.htaccess,mod-rewrite,redirect,Php,Regex,.htaccess,Mod Rewrite,Redirect,我正在尝试重写此url: www.answerme.be/index.php?language=nl 至 www.answerme.be/nl 我已经做了一些研究,我正在使用generateit.net的工具 我使用的表达式如下所示: RewriteEngine On RewriteRule ^([^/]*)$ /index.php?language=$1 [L] 这应该行吗?我得到一个500内部服务器错误。由于无限循环,您得到500。通过对URI中的2字符语言使用更好的正则表达式来修

我正在尝试重写此url:

www.answerme.be/index.php?language=nl

www.answerme.be/nl

我已经做了一些研究,我正在使用generateit.net的工具

我使用的表达式如下所示:

RewriteEngine On    
RewriteRule ^([^/]*)$ /index.php?language=$1 [L]

这应该行吗?我得到一个
500内部服务器
错误。

由于无限循环,您得到500。通过对URI中的2字符语言使用更好的正则表达式来修复此问题:

RewriteEngine On    
RewriteRule ^([a-z]{2})/?$ /index.php?language=$1 [L,QSA,NC]

如果您的语言受到限制,您可以指定它们以避免此错误

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(nl|en|fr)$ index.php?language=$1 [L]

要在大写字母上使用lang param,请使用以下命令:

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-zA-Z]{2})$ index.php?language=$1 [L]
它非常适合我