带有UTF-8重音,多视图,.htaccess的Mod_rewrite

问题:使用Mod_rewrite,multiview和Apacheconfiguration

简介:该网站是法语,我有问题与unicode编码和mod_rewrite内的PHP无线多视图

  • 旧服务器没有正确处理utf8(在PHP之间的某处,阿帕奇国防部重写或MySQL)
  • 更新服务器到Ubuntu 11.04,这个过程是破坏性的
    • 在var / www /(该网站主要是2个文件index.php&static.php)中丢失了所有文件
    • 丢失了具体的.Htaccess文件
    • 丢失了MySQL dbs
    • 丢失旧的apache.conf

到目前为止,我做了什么:

什么工作:

  • 设置GNutls for SSL,Listen 443 => port.conf
  • 在一个文件中创build了2个虚拟主机:80和443 => website.conf
  • 使用mod_rewriteredirect实施SSL =>redirect:80至:443
  • 尝试设置utf-8无处不在。设置字符集和整理,db连接,mb_settings,名称utf-8和utf8_unicode_ci,无处不在(php,mysql,apache)
  • 一定要服务文件为UTF-8我启用多视图
  • 改名为index.php.utf8.fr和static.php.utf8.fr
  • 启用多视图后,URL中的多字节口音将起作用
  • SSL TLS 1.0

什么不工作:

  • 启用多视图后,mod_rewrite仅适用于我的一个重写过程
  • 随着multiview禁用,我松散的访问文档的根目录为“禁止”
  • 与多视图禁用,我松动多字节(单字符重音)
  • Apache默认服务器已满设置。 (我可以安全地删除?)

这些是我的configuration文件到目前为止

:80个Vhost文件(这个工作可以用来强制redirect到https)

RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} LanguagePriority fr 

:443 Vhost文件(GnuTls正在工作)

 DocumentRoot /var/www/x ServerName example.com ServerAlias www.example.com <Directory "/var/www/x"> allow from all Options FollowSymLinks +MultiViews AddLanguage fr .fr AddCharset UTF-8 .utf8 LanguagePriority fr </Directory> GnuTLSEnable on GnuTLSPriorities SECURE:+VERS-TLS1.1:+AES-256-CBC:+RSA:+SHA1:+COMP-NULL GnuTLSCertificateFile /path/to/certificate.crt GnuTLSKeyFile /path/to/certificate.key <Directory "/var/www/x/base"> </Directory> 

基本的.htaccess文件

  AddDefaultCharset utf-8 Options FollowSymLinks +MultiViews RewriteEngine on RewriteRule ^api/$ /index.php.utf8.fr?v=4 [L,NC,R] RewriteRule ^contrib/$ /index.php.utf8.fr?v=2 [L,NC,R] RewriteRule ^coop/$ /index.php.utf8.fr?v=3 [L,NC,R] RewriteRule ^crowd/$ /index.php.utf8.fr?v=2 [L,NC,R] RewriteRule ^([^/]*)/([^/]*)$ /static.php.utf8.fr?VALUEONE=$2&VALUETWO=$1 [L] 

所以我的问题是什么错了,我有什么缺less的是我需要从Apache默认情况下杀死额外的设置。 为了确保所有部件始终在使用utf-8,并且我的mod_rewrite规则使用了重音

预先感谢大家的帮助,我会密切关注这个问题,添加任何需要的信息。