【问题标题】:Language parameter in .htaccess not correctly mapped.htaccess 中的语言参数未正确映射
【发布时间】:2014-12-21 17:50:09
【问题描述】:
我正在尝试重写这个网址:
www.answerme.be/index.php?language=nl
到
www.answerme.be/nl
我已经做了一些研究,我正在使用 generateit.net 的工具。
我使用的表达式如下:
RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?language=$1 [L]
这应该有效吗?我收到 500 internal server 错误。
【问题讨论】:
标签:
php
regex
.htaccess
mod-rewrite
redirect
【解决方案1】:
为了能够在大写字母上也使用 lang 参数,请使用:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-zA-Z]{2})$ index.php?language=$1 [L]
它非常适合我
【解决方案2】:
如果你的语言有限,你可以指定它们来避免这个错误
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(nl|en|fr)$ index.php?language=$1 [L]
【解决方案3】:
由于无限循环,您将获得 500。通过对 URI 中的 2 个字符语言使用更好的正则表达式来修复它:
RewriteEngine On
RewriteRule ^([a-z]{2})/?$ /index.php?language=$1 [L,QSA,NC]