Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php htaccess忽略URL的特定部分_Php_Regex_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php htaccess忽略URL的特定部分

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

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

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

例如:

从这里显示图像

但是它必须在URL中保留/en/部分,这样语言就不会改变

我的.htaccess文件中有以下内容:

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之后时,它就起作用了很高兴知道它是有效的,请考虑将它标记为“接受”,这样用户将来面对类似的问题将能够很容易地看到它。