Php htaccess忽略URL的特定部分
当URL在域后有/en/时,我正在尝试将网站的语言更改为英语。当url在域后有/en/时,PHP会更改翻译文件 我的系统将/en/part添加到所有链接中,甚至CSS文件的URL等。它工作正常,但当该部分位于URL中时,我无法访问任何文件。我仍然希望找到所有的文件和文件夹,即使有/en/部分 例如: 从这里显示图像 但是它必须在URL中保留/en/部分,这样语言就不会改变 我的.htaccess文件中有以下内容:Php htaccess忽略URL的特定部分,php,regex,.htaccess,mod-rewrite,redirect,Php,Regex,.htaccess,Mod Rewrite,Redirect,当URL在域后有/en/时,我正在尝试将网站的语言更改为英语。当url在域后有/en/时,PHP会更改翻译文件 我的系统将/en/part添加到所有链接中,甚至CSS文件的URL等。它工作正常,但当该部分位于URL中时,我无法访问任何文件。我仍然希望找到所有的文件和文件夹,即使有/en/部分 例如: 从这里显示图像 但是它必须在URL中保留/en/部分,这样语言就不会改变 我的.htaccess文件中有以下内容: RewriteEngine on Options +FollowSymlink
RewriteEngine on
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
这会重定向URL,但会删除/en/part.:/
RedirectMatch ^/en/(.*) /$1
那么,是否有可能重定向并保留原始url?如果不是,是否仅当它是现有文件夹或文件时才可以重定向(和更改URL)?谢谢。:) 将您的
重定向匹配
行替换为以下内容:
RewriteRule ^en/([^.]+\.(?:jpe?g|gif|bmp|png|tiff|css|js))$ /$1 [L,NC]
查找:“Internal rewrite mod_rewrite”谢谢,当我把它放在选项+FollowSymlinks之后时,它就起作用了很高兴知道它是有效的,请考虑将它标记为“接受”,这样用户将来面对类似的问题将能够很容易地看到它。