我在这里查看了很多其他 mod_rewrite 问题并尝试了其中的大部分,但似乎没有一个对我有用。这就是我想做的。
将所有请求重定向
http://abc.com/foobar
到http://abc.com/
除了
images
and , 所以像orjs
这样的请求http://abc.com/images/foo/bar
http://abc.com/js/foo/bar
URL 栏应该保持不变。因此,在
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]
因为域在不同的部署中可能不同。
我想我只是对它的工作原理知之甚少,但我只是缺少一些小东西。有人可以帮我解决这个问题吗?