2

当 URL 在域之后有 /en/ 时,我正在尝试将网站的语言更改为英语。当 url 在域之后有 /en/ 时,PHP 会更改翻译文件。

我的系统将 /en/ 部分添加到所有链接,甚至 CSS 文件的 URL 等。它工作正常,但是当该部分位于 URL 中时,我无法访问任何文件。即使 /en/ 部分在那里,我仍然想找到所有文件和文件夹。

例如:

http://domain.com/en/images/image.png

从这里显示图像

http://domain.com/images/image.png

但它必须保留 URL 中的 /en/ 部分,因此语言不会改变。

我的 .htaccess 文件中有这个:

RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]

这会重定向 URL,但会删除 /en/ 部分。:/

RedirectMatch ^/en/(.*) /$1

那么甚至可以重定向并保留原始网址吗?如果不是,是否可以仅在现有文件夹或文件时重定向(并更改 URL)?谢谢。:)

4

1 回答 1

1

用这个替换你的RedirectMatch行:

RewriteRule ^en/([^.]+\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1 [L,NC]
于 2013-09-26T16:39:35.887 回答