IIS+aspx怎么让网站可以访问图片但是不让URL直接访问?

各位资深程序员,打扰大家一下,想实现一个功能

就是想网站页面是可以正常使用图片的,但是不能通过https:///.png这种URL直接访问,有没有办法禁止或者跳转到主页呀?

项目已部署到服务器上了,IIS7+ASPX

URL重写都试过了,URL不能访问的话再刷新页面网站本身也使用不了图片了

还有如果想让所有没有目标或者错误的链接都定向到主页怎么设置呀?

IIS管理器有个叫错误页的功能,里面可以跳转。。
还有就是在默认404.html中通过js跳转。

网站页面上的图片也是通过uri获取的。

你好,
如果你的程序发布到IIS上,需要在web.config中添加如下代码,否则静态文件还是会交由IIS处理,而不会被路由。

<configuration>
  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" /><!--将IIS的静态文件处理改为走路由--!>
     .......
  </system.webServer>
</configuration>

到这里还没有完,因为这样做所有的对静态文件的访问都交给路由来处理了,但有些文件我们还希望不走路由的,比如js文件,css文件还有一些图片文件,

所以我们还需要告诉服务器,这些文件需要绕过路由系统,直接从硬盘上读取就行了,方法如下:

 public class RouteConfig
   {
     public static void RegisterRoutes(RouteCollection routes)
    {
        routes.RouteExistingFiles = true;
           routes.IgnoreRoute("Content/{*relpath}");//指定目录不走路由
         routes.IgnoreRoute("Scripts/{*relpath}");//指定目录不走路由
       }
    }