dre*_*ves 15 regex apache mod-rewrite url-rewriting
我希望像server.com/foo这样的URL不区分大小写.但是server.com/foo实际上将mod_rewrite'd发送到server.com/somedir/foo
(假设"somedir"中的所有文件都是小写的.)
所以问题是,如何完成如下的mod_rewrite:
RewriteRule ^([^/]+)/?$ somedir/convert_to_lowercase($1)
Run Code Online (Sandbox Code Playgroud)
PS:这是一个方便的mod_rewrite备忘单 - http://dreev.es/modrewrite - 虽然它无法回答这个特殊问题.
PPS:感谢 Bee 和 Ignacio 提供的所有帮助.另外,这是一个相关的问题: RewriteMap激活
dre*_*ves 18
首先,将以下行放在<VirtualHost>
.conf文件的部分中.(对我而言,生活在/etc/httpd/vhosts.d/00foo.conf
.)
RewriteMap lc int:tolower
Run Code Online (Sandbox Code Playgroud)
您可以替换lc
为您想要的任何名称.然后重启apache,你可以做sudo service httpd restart
.
最后,在.htaccess文件中添加:
RewriteRule ^/(.*)$ /${lc:$1}
Run Code Online (Sandbox Code Playgroud)
Ign*_*ams 12
RewriteMap tolower int:tolower
RewriteRule ^([^/]+)/?$ somedir/${tolower:$1}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19546 次 |
最近记录: |