2013-09-26 118 views
1

我试图将网站的语言更改为英文,当URL具有/ en /域后。当url在域名后面有/ en /后,PHP会更改翻译文件。htaccess忽略URL的特定部分

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

例如:

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

显示从这里

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

的形象,但它必须保持/ EN /部分的URL,这样的语言不会更改。

我有这个在我的.htaccess文件:

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

这重定向的URL,但它删除/ EN /一部分。 :/

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

那么它甚至有可能重定向并离开原来的网址?如果没有,只有当它是现有的文件夹或文件时,才有可能重定向(并更改URL)?谢谢。 :)

+0

查找: “内部重写mod_rewrite的” – Sumurai8

回答

1

这个替换您RedirectMatch行:

RewriteRule ^en/([^.]+\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1 [L,NC] 
+0

谢谢你,当我把它选择了FollowSymLinks +之后的工作。 :) – user2816746

+0

很高兴知道它的工作原理,请考虑将其标记为“已接受”,以便将来遇到类似问题的用户将能够轻松看到它。 – anubhava