我在这里查看了很多其他 mod_rewrite 问题并尝试了其中的大部分,但似乎没有一个对我有用。这就是我想做的。
将所有请求重定向
http://abc.com/foobar到http://abc.com/除了
imagesand , 所以像orjs这样的请求http://abc.com/images/foo/barhttp://abc.com/js/foo/barURL 栏应该保持不变。因此,在
http://abc.com/foobar加载http://abc.com/时,URL 应该像以前一样读取端口应该保持不变,所以
http://abc.com:8080/foobar应该重定向到http://abc.com:8080
这就是我.htaccess文件中的内容
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/(images/.*|js/.*)$
RewriteRule ^(.*)$ - [L]
条件运行良好,images文件js加载正常。我认为最后一行会将其他所有内容都重定向到基本域,但是当我测试它时我仍然收到 404 错误。
我不想使用这样的规则
RewriteRule ^(.*)$ http://abc.com/ [L]
因为域在不同的部署中可能不同。
我想我只是对它的工作原理知之甚少,但我只是缺少一些小东西。有人可以帮我解决这个问题吗?