Apache、NGINX支持中文URL
Apache(32位):
安装环境:CentOS 5.6 + Apache 2.2.15
安装结果:安装后支持“中文图片、文件名”链接直接打开
以下为安装过程:
1、下载安装包
- wget ftp://ftp.aconus.com/fc5/mod_encoding/mod_encoding-2.2.0-1.i386.tar.gz
2、直接解压
- tar zxvf mod_encoding-2.2.0-1.i386.tar.gz
看到2个rpm安装包,进行安装
- rpm -ivh iconv_hook-1.0.0-1.i386.rpm
- rpm -ivh mod_encoding-2.2.0-1.i386.rpm
3、用 find / -name httpd.conf 找到apache配置文件httpd.conf,vi编辑加入以下内容
- LoadModule encoding_module modules/mod_encoding.so
- Header add MS-Author-Via "DAV"
- EncodingEngine on
- NormalizeUsername on
- SetServerEncoding GBK
- DefaultClientEncoding UTF-8 GBK GB2312
- AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
- AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
- AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312
保存退出
4、重启apache
- service httpd restart
5、完成!
注:如果安装的是WDCP,重启apache会失败,需要将mod_encoding.so复制到/www/wdlinux/httpd-2.2.22/modules下,
命令:
- cp /usr/lib/httpd/modules/mod_encoding.so /www/wdlinux/httpd-2.2.22/modules
Apache(64位):
————————————————————-
此方案用于解决Apache软件对中文网址、中文图片、文件名的支持问题。
通过测试环境:64位CentOS5.5 + Apache2.2.15
————————————————————-
下载 mod_encoding_64.tar.gz
源码包由吴世昌整理,已经包含了apache2.2所需的补丁。
2011.9.20由Hostloc.com的Captain修改补充。
————————————————————-
1、安装gcc组件
- yum install gcc -y
2、下载压缩包
- wget http://d.nicwind.com/files/mod_encoding_64.tar.gz
3、将压缩包解压,进行编译
- tar zxvf mod_encoding_64.tar.gz
- cd mod_encoding_64
- patch -p0 < mod_encoding.c-apache2.2-20060520.patch
- cd lib
- chmod 755 configure
- ./configure --prefix=/usr
- make && make install
- ldconfig
- cd ../
- chmod 755 configure
- cp -p /usr/sbin/apxs /usr/bin
- ./configure --with-apxs=/usr/bin/apxs --with-iconv-hook=/usr/include
- make
- gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -Llib -liconv_hook
- cp mod_encoding.so /usr/lib/httpd/modules
注:/usr/lib/httpd/modules为apache的modules目录,可以用
- find / -name modules
找出这个目录的路径
注意把/usr/lib/httpd/modules改成你的apache模块存放路径。
4、完成以上操作后,再修改apache的配置文件(可以用find / -name httpd.conf,找出httpd.conf文件的路径),把下面的内容添加到apache的配置文件httpd.conf中。
- LoadModule encoding_module modules/mod_encoding.so
- EncodingEngine on
- NormalizeUsername on
- SetServerEncoding GBK
- DefaultClientEncoding UTF-8 GBK GB2312
- AddClientEncoding "(Microsoft .* DAV $)" UTF-8 GBK GB2312
- AddClientEncoding "Microsoft .* DAV" UTF-8 GBK GB2312
- AddClientEncoding "Microsoft-WebDAV*" UTF-8 GBK GB2312
保存,退出
5、重启apache
- service httpd restart
6、完成
注:如果安装的是WDCP,重启apache会失败,需要将mod_encoding.so复制到/www/wdlinux/httpd-2.2.22/modules下,
命令:
- cp /usr/lib/httpd/modules/mod_encoding.so /www/wdlinux/httpd-2.2.22/modules
复制代码
Nginx:
一、确定你的Linux系统是UTF编码,Root登录SSH:
- env|grep LANG
- LANG=en_US.UTF-8
复制代码
二、NGINX配置文件里默认编码设置为utf-8
- server
- {
- listen 80;
- server_name xxxx.com ;
- index index.html index.htm index.php;
- root /usr/local/nginx/html/inginx.com;
- charset utf-8;
- }
三、如果使用putty
windows –> translation –>UTF-8
mkdir 中文目录名
echo ‘中文目录名’ > 中文目录名/中国.html
四、如果是用securecrt 上传文件,请选择 回话–>外观–UTF-8
如果是FTP软件也将默认编码设置为TUF-8
五、如果上传的文件名出现乱码显示
执行
- for f in `ls *.html` ; do mv $f `ls $f|iconv -f GBK -t UTF-8`; done
完毕。
Apache、NGINX支持中文URL的更多相关文章
- 配置NGINX支持中文URL 中文文件名称或文件夹404无法訪问的解决方法
NGINX不须要象apache那样要单独载入支持中文模块. # cat /etc/sysconfig/i18n LANG="en_US.UTF-8" SYSFONT=" ...
- Nginx 使用中文URL,中文目录路径
Nginx 使用中文URL,中文目录路径 分类: linux2012-05-03 11:04 2672人阅读 评论(0) 收藏 举报 nginxurl服务器translationcentosserve ...
- AFNETWorking 不支持中文URL请求
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #000000; min-height: 16.0px } p.p ...
- Linux让Apache支持中文URL图片/文件名
需要用到iconv_hook和mod_encoding Apache(32位): 安装环境:CentOS 5.6 + Apache 2.2.15 (Apache2.4同样适用) 安装结果:安装后支持“ ...
- 让Linux中的Nginx支持中文文件名
原文:https://blog.csdn.net/soeben/article/details/79525964 首先你的服务器需要安装了UTF-8字符集在命令行里输入env|grep LANG如果显 ...
- 再谈Nginx Rewrite, 中文URL和其它
上次谈到过Nginx和中文URL的问题,这几天又加深了认识. 多分享几个关于Nginx Rewrite的经验. Nginx匹配指定中文URL的方法:rewrite "(*UTF8)^x{66 ...
- Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着nginx功能得完善将使他成为今后web server得主流。
Apache 后台服务器(主要处理php及一些功能请求 如:中文url) Nginx 前端服务器(利用它占用系统资源少得优势来处理静态页面大量请求) Lighttpd 图片服务器 总体来说,随着ngi ...
- Nginx中文url出现404问题
Nginx中文url出现404问题 前提条件检查,如我的系统centos,需要检查系统字符集是不是支持utf-8, 怎么配置可以参考这个帖子 https://www.vpser.net/manage/ ...
- Nginx、PCRE和中文URL(UTF8编码)rewrite路径重写匹配问题
最近遇到了使用Nginx 重写中文UTF8编码路径的问题. 才发现默认情况下Nginx的rewrite是不支持UTF8匹配的. 比如: rewrite ^/(..)$ /2个字符文章.html bre ...
随机推荐
- 每天一点Android干货-Activity的生命周期
Activity Activity是这样一个程序组件,它为用户提供一个用于任务交互的画面. 一个应用程序通常由多个activity组成,它们彼此保持弱的绑定状态.典型的,当一个activity在一个应 ...
- Xamarin.Forms listview中的button按钮,实现带着参数返回上一级页面
今天在做列表显示的时候遇到一个问题,就是在ListView中如何才能让一个button的按钮工作并且包含参数呢? 其实有点类似于rep里的控件无法起获取一样.在Xamarin中,当你button绑定事 ...
- 移动APP项目优化
团队计划:设计一款给用户提供就医帮助的安卓APP. 项目计划:两个月内团队成员共同开发完成此款APP,此款APP提供预约挂号,名医名院咨询,就医导航等功能. 角色职责:负责交互设计.UI界面设计.1. ...
- C# 正则表达式小坑 -- not enough
今天遇到了一个奇怪的报错: 相关的代码是这样的: Regex regex = new Regex("(?<=wwwroot\\).*?$"); 然后把这段正则复制到任何正则测 ...
- shell脚本自动化部署XX的案例(附数组使用)
#!/bin/sh #Auto Make install MFS Files # cat <<EOF ++++++++++++++++Welcome To Use Auto Install ...
- js基础:函数表达式和函数声明
函数表达式和函数声明的区别.实际上,解析器在向执行环境中加载数据是,对函数表达式和函数声明并非一视同仁.解析器会率先读取函数声明,并使其在执行任何代码之前可用.而函数表达式,则必须等到解析器执行到它所 ...
- CSS 文字两端对齐
<!DOCTYPE HTML> <html> <head> <title></title> <meta http-equiv=&quo ...
- JS实现页面打印
[原文链接] 1.js实现(可实现局部打印) <input id="btnPrint" type="button" value="打印" ...
- [SQL] SQL 查出一张表中重复的所有记录
在A表中存在一个字段“AccountId”,而且不同记录之间的“AccountId”值有可能会相同,现在就是需要查询出在该表中的各记录之间,“AccountId”值存在重复的项,这里count记录该字 ...
- x265,帧内预测代码分析
void Analysis::compressIntraCU(const CUData& parentCTU, const CUGeom& cuGeom, uint32_t& ...