我基本上想要重写任何以foo/
开头到foo/index.php?url=
的请求。例如,http://localhost/foo/something
应该变为http://localhost/foo/index.php?url=something
。重写除现有文件以外的任何内容
我现在有这样的规则:
RewriteRule ^foo/(\w*) foo/index.php?url=$1
这工作在我的本地,但不是免费托管服务网络。重点是,它也会重写现有的文件...因此,我的布局以及所有图像等都消失了,因为foo/style.css
变成了foo/index.php?url=style.css
。这不会发生在我的本地主机上。
我碰到过类似的问题:mod_rewrite: Redirect if anything but a file,但实际上并没有做任何事情。
那么我会如何去重写除现有文件之外的任何东西?为什么它只能在我自己的本地主机上运行?
我的主机现在说我的磁盘使用已满,但它显然不是......我想我只是移动到另一个主机,这只是糟透了。你的建议仍然适用于我的本地主机,所以如果我碰巧找到一个可用的免费主机,我会使用它。谢谢。 – pimvdb 2011-03-06 10:18:10