我是Apache mod-rewrite newbie,我遇到了一些问题。
我翻译了按语言组织的内容:
DOCUMENT_ROOT / DIR1 / EN / index.html中
DOCUMENT_ROOT / DIR1 / FR / index.html中
我正在将流量重定向到SERVER / dir1 / en - 我没有将index.html添加到浏览器中的url
目的是重定向到特定于语言的目录(如果存在),如果给定的语言特定目录不存在,则重定向到en
在上面的例子中,我希望如下:
在浏览器中输入 SERVER / dir1 / en 会显示 DOCUMENT_ROOT / dir1 / en / index.html
在浏览器中输入 SERVER / dir1 / fr 会显示 DOCUMENT_ROOT / dir1 / fr / index.html
在浏览器中输入 SERVER / dir1 / de 会显示 DOCUMENT_ROOT / dir1 / en / index.html
我定义了以下规则:
RewriteCond %{LA-U:REQUEST_FILENAME} !-f
RewriteRule ^/(dir1/)[a-zA-Z_]+(.*) /dir1/en/index.html [R,L]
无论我在浏览器中输入什么内容,一切都会重定向到DOCUMENT_ROOT / dir1 / en / index.html
谁能告诉我为什么?
另外,在第一条规则的情况下更合适 - 指定!-f或!-d?我在技术上在浏览器SERVER / dir1 / en中输入目录名,但是使用!-d无法正常工作。