【发布时间】:2014-01-30 09:54:17
【问题描述】:
我对 .htaccess 不是很熟悉,但我设法将以下文件放在一起。可悲的是它不起作用..
它必须做什么: - 检测用户是否是法语 = 重定向到 example.com/fr - 检测用户是否是任何其他语言 = 重定向到 example.com/nl - 显示所有不带 .html 和 .php 的网址
这是我用于语言检测的代码,但它会循环..
RewriteEngine on
RewriteCond %{HTTP:Accept-Language} (fr) [NC]
RewriteRule .* http://www.example.com/fr [R,L]
RewriteRule .* http://www.example.com/nl [R,L]
这是我为干净网址提供的代码,但它仅适用于 .html,我需要 .html 和 .php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*\.html\ HTTP/
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
那么我如何让这两个工作,并放在同一个文件中?问候。
【问题讨论】:
-
试试这个模块 httpd.apache.org/docs/2.2/mod/mod_negotiation.html 这不是你想要的,但它是 apache 原生的
标签: .htaccess loops redirect language-detection