的.htaccess。将请求重定向到~username文件夹

时间:2012-10-12 17:41:18

标签: .htaccess mod-rewrite

情况:

我正在将网站从生产环境转移到测试环境。

测试环境网址类似于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回〜用户名?

1 个答案:

答案 0 :(得分:0)

如果删除

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

它似乎按预期工作,因为任何对正确URL的请求都不会被重写。

您可能希望添加[L]作为标志,以表示它是最后一次重写规则,如下所示:

RewriteCond %{REQUEST_URI} !^/~username/
RewriteRule ^(.*)$ /~username/$1 [L]