网站http://www.example.com/在CMS上运行,所有内容都按照.htaccess中设置的规则进行操作。访问http://www.example.com/时,用户将被重定向到以下路径之一,具体取决于用户的语言设置:
http://www.example.com/en/
http://www.example.com/fr/
/en/
和/fr/
目录确实不存在,它们由CMS处理。
我正在向网站添加新的部分(investors/
),但现在不希望它通过CMS,但我不希望用户注意到它。
原始.htaccess文件包含以下行:
# never rewrite for existing files, directories and links
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# rewrite everything else to index.php
RewriteRule .* index.php [L]
如果请求的路径以/en/investors/
或/fr/investors/
开头,我设法让它不通过CMS:
# never rewrite for existing files, directories and links
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
# rewrite everything else to index.php
# except investors' section
RewriteRule ^(?!\/en\/investors|\/fr\/investors).+ index.php [L]
我将/en/investors/
和/fr/investors/
目录上传到服务器上并且工作正常,但现在主页已损坏,因为现在存在/en/
和/fr/
目录。如何为该规则添加例外?
答案 0 :(得分:0)
简单地添加另一条规则来覆盖2个目录,例如
RewriteRule ^(en|fr)/?$ index.php [L]