You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Orchard Core中的首页路由

在Orchard Core中自定义首页路由

要实现你原有Razor Pages代码里的首页路由配置(将空路径映射到/Home/Index),不需要移动文件,通过自定义模块就能搞定,步骤如下:

1. 创建自定义模块

新建一个类库项目,添加以下NuGet包引用:

  • OrchardCore.Module.Targets
  • Microsoft.AspNetCore.Mvc.RazorPages

同时在项目根目录添加module.txt文件,内容示例:

Name: YourCustomHomeRouteModule
Author: Your Name
Version: 1.0.0
Description: 自定义首页路由模块

2. 添加路由配置类

在模块中创建一个实现IConfigureOptions<RazorPagesOptions>的类,用来配置路由约定:

using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Options;

namespace YourCustomHomeRouteModule
{
    public class CustomHomeRouteConfig : IConfigureOptions<RazorPagesOptions>
    {
        public void Configure(RazorPagesOptions options)
        {
            // 和你原有代码逻辑一致:将空路由映射到/Home/Index页面
            options.Conventions.AddPageRoute("/Home/Index", "");
        }
    }
}

3. 注册配置类

在模块的Startup.cs中注册这个配置类,Orchard Core会自动加载并应用配置:

using Microsoft.Extensions.DependencyInjection;
using OrchardCore.Modules;

namespace YourCustomHomeRouteModule
{
    public class Startup : StartupBase
    {
        public override void ConfigureServices(IServiceCollection services)
        {
            // 注册路由配置服务
            services.ConfigureOptions<CustomHomeRouteConfig>();
        }
    }
}

注意事项

  • 启用模块:在Orchard Core后台的「模块管理」中找到你的自定义模块,勾选启用。
  • 页面路径:确保/Home/Index页面存在(比如模块的Pages/Home/Index.cshtml,或者主项目的对应路径),Orchard Core会优先加载模块内的页面。
  • 路由优先级:如果有多个模块配置首页路由,可通过module.txt里的Order字段调整模块加载顺序,数值越小优先级越高。

内容的提问来源于stack exchange,提问作者Sachihiro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:52:13