情况:
我正在将网站从生产环境转移到测试环境。
测试环境网址类似于http://192.168.1.100/~username/
有数千个文件在html中使用以下内容
<img src='/images/image.jpg' />
由于请求将转至根http://192.168.1.100/
,因此文件为404。
我没有找到并替换所有的html,而是假设有一种简单的方法可以通过.htaccess使用mod_rewrite来修复它。
我尝试过使用以下
RewriteCond %{REQUEST_URI} !^/~username/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /~username/$1
但没有按预期工作。
提前致谢。
更新 开发环境位于cpanel / whm中。因此,当从请求的URL中删除用户名时,它现在属于root用户。那么,我现在的问题是:如何将root用户的.htaccess文件更新为mod_rewrite回〜用户名?
答案 0 :(得分:0)
如果删除
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
它似乎按预期工作,因为任何对正确URL的请求都不会被重写。
您可能希望添加[L]
作为标志,以表示它是最后一次重写规则,如下所示:
RewriteCond %{REQUEST_URI} !^/~username/
RewriteRule ^(.*)$ /~username/$1 [L]