.htaccess语言重定向不允许子目录访问

时间:2014-03-08 10:16:59

标签: php apache .htaccess mod-rewrite

我很难让.htaccess根据语言提供不同的html文件。

当我更改我的语言时文件有效但当我尝试访问子目录“/ friends /”中的文件时页面不会改变。它也改变了网址。

这是我的剧本......

# Turn on the rewriting engine
RewriteEngine on

# language is 'it' italian
RewriteCond %{HTTP:Accept-Language} (it) [NC]
RewriteRule .* /Applications/XAMPP/xamppfiles/htdocs/website1/welcome-italian.php [L]

# fallback to english
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* /Applications/XAMPP/xamppfiles/htdocs/website1/welcome-english.php [L]

这是我的文件结构

enter image description here

提前致谢:)

1 个答案:

答案 0 :(得分:1)

您无需在重写规则中提供完整的文件系统路径。您只需要提供文档根目录的路径。

试试这个(假设文档根目录是htdocs/website1

RewriteEngine on

# language is 'it' italian
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP:Accept-Language} (it) [NC]
RewriteRule .* welcome-italian.php [L]

# fallback to english
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTP:Accept-Language} (en) [NC]
RewriteRule .* welcome-english.php [L]