我目前正在为我的所有页面使用这种类型的mod_rewrite代码...但我认为它太长了。编写相同的代码必须有一个更短的方法吗?它会增加服务器上的任何负载吗?
RewriteRule ^Login/$ login.php [L]
RewriteRule ^login/$ login.php [L]
RewriteRule ^Login$ login.php [L]
RewriteRule ^login$ login.php [L]
第一行是普通网址 - “http:// website / Login /”
第二个是如果用户没有输入大写“L” - “http:// website / login /”
第三个是如果他没有在第一个网址上添加结尾斜杠 - “http:// website / Login”
第四个是如果他没有在第二个网址上添加结尾斜杠 - “http:// website / login”
答案 0 :(得分:2)
试试这个正则表达式:
^[Ll]ogin/?$
[Ll]匹配L或l,问号表示前一个字符(斜杠)是可选的。
答案 1 :(得分:2)
答案 2 :(得分:0)
例如:
RewriteRule ^[Ll]ogin/?$ login.php [L]
但我必须问,为什么?为什么不简单地选择一个URL并坚持下去?您希望人们手动输入URL吗?
答案 3 :(得分:0)
RewriteRule ^login/?$ login.php [L,NC]
应该这样做。 NC是不区分大小写的?使斜杠可选。