【问题标题】:Please Help changing Base URL from / to /public请帮助将基本 URL 从 / 更改为 /public
【发布时间】:2012-04-15 11:00:39
【问题描述】:

我已经从我的本地机器迁移了一个经典的 ASP 网站,该网站有对 / 根目录的引用(据我所知不是绝对的,而是虚拟的和相对的)

我正在尝试在坚持文件位于 /public 作为根目录的托管站点上运行它。

我已经阅读了几篇文章,但只是不明白这是否可以在 htaccess 中轻松完成

但似乎无法完全正确。

有人可以帮忙吗?


我试过这个重写规则:

DirectoryIndex default asp

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L,R=301]

我尝试过使用重写基础: DirectoryIndex 默认asp

RewriteEngine On
RewriteBase /

ErrorDocument 404 /default asp

无法解析的示例调用如下:

404 重定向似乎适用于链接到正确 default.asp 的链接 - 但是 - 在 / 而不是 /public/default.asp 无法找到徽标本身,因为它正在寻找它 /标志/池所有者/ 代替 /public/logos/poolowners/

有没有办法做到这一点,而不必将它托管在允许我将站点文件直接放在根目录 / 而不是 /public 的不同提供商上?

谢谢, 卡尔

【问题讨论】:

    标签: asp-classic


    【解决方案1】:

    我相信 .htaccess 是一个仅限 linux 的文件。

    但是,您可以编辑 web.config 以在 404 上重定向到那里...

    <configuration>
       <system.web>
          <customErrors defaultRedirect="/public"
                        mode="RemoteOnly">
             <error statusCode="404"
                    redirect="/"/>
          </customErrors>
       </system.web>
    </configuration>
    

    来源:Web.config custom errors

    编辑:另一种选择是下载 Notepad++,打开所有文档并执行“查找/替换所有文档”,例如 Find:"/public" Replace"/" 这样您就可以删除所有 /public's,然后您就不必再这样做了担心。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 2021-10-06
      • 2014-07-13
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多