我正在维护一个别人写的网站。他在html中使用绝对路径来请求资产文件,他认为项目总是安装在域的根目录下。
现在我正在测试网站;我在一个子目录中安装了该项目。我想将以某些字符开头的文件重定向到子文件夹。
例如,他写了类似的东西
<img src="/en/wp-content/themes/.....">
现在,服务器将开始在根目录中搜索文件,如example.com/en/wp-content/....
我在/foo/en
,example.com/foo/en
安装了该项目。我想使用.htaccess重新路由以/en/wp-content/themes
开头的网址/foo/en/wp-content/themes
。我该怎么办?
这就是我写它的方式:
RewriteEngine On
RewriteRule ^en/wp-content/themes/(.*)$ /foo/en/wp-content/themes/$1
但它没有用......
答案 0 :(得分:0)
为了确保这不会干扰任何其他htaccess文件使用[L]或[END],我会稍微更改一行:
RewriteEngine On
RewriteRule ^/?en/wp-content/themes/(.*)$ /foo/en/wp-content/themes/$1 [L]
[L]表示上次https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_l
[END] https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_end