如何忽略 Laravel 路由中的站点地图 url?

     2023-02-24     286

关键词:

【中文标题】如何忽略 Laravel 路由中的站点地图 url?【英文标题】:How to ignore sitemap url from Laravel routing? 【发布时间】:2017-09-08 15:49:11 【问题描述】:

我在http://example.com的根目录下有sitemap.xml

当我尝试访问http://example.com/sitemap.xml 时。它显然会抛出找不到路由的错误。

所以尝试这个改变.htaccess看起来像:

Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteCond %REQUEST_URI !^/sitemap.xml
RewriteRule ^ index.php [L]

使用的 Laravel 版本:5.1。

但是,没有运气。我如何才能使用和渲染手动生成的 XML 文件,而不是从路由中提供服务?我不是在这里寻找复杂的 XML 解析理论。只是尝试一个钩子来逃避特定的路由。

【问题讨论】:

【参考方案1】:

最好的方法是将sitemap.xml 文件移动到public 目录。您甚至不必担心路由。

然后它会自动被http://example.com/sitemap.xml访问

【讨论】:

【参考方案2】:

您可以创建一个返回动态生成的站点地图的路线。您不一定需要返回文件。

例如:

您的路线:

Route::get('sitemap.xml', 'App\\Controllers\\SiteMapController@index');

您的站点地图控制器:

public function index()


    $urls = Logic::getMyUrlsToMap();
    return view('site.home.sitemap', compact('urls'));


Logic::getMyUrlsToMap() 是您搜索将被映射的 url 的逻辑。

您的 site.home.sitemap 视图:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    @if($urls)
        @foreach($urls as $url)
            <url>
                <loc>$url</loc>
            </url>
        @endforeach
    @endif
</urlset>

【讨论】:

laravel 5中的两个登录表单

】laravel5中的两个登录表单【英文标题】:Twologinformsinlaravel5【发布时间】:2015-11-0304:13:08【问题描述】:我一直想知道如何在laravel5中制作两个登录表单......这是因为我有一个多站点项目,我有管理站点和公共站点在一个项目中... 查看详情

如何使用反应路由器生成站点地图

】如何使用反应路由器生成站点地图【英文标题】:Howtogeneratesitemapwithreactrouter【发布时间】:2016-08-2912:29:02【问题描述】:我试图弄清楚如何在reactJS服务器端(快速)网络应用程序中动态生成站点地图。我正在使用反应路由器... 查看详情

如何路由到 Laravel 中的静态文件夹

】如何路由到Laravel中的静态文件夹【英文标题】:HowtoroutetoastaticfolderinLaravel【发布时间】:2015-05-2621:31:27【问题描述】:我有一个文件夹放在我的Laravel站点的/public文件夹中。路径是:/public/test“test”文件夹有一个名为index.html... 查看详情

我如何将 url 路由到 laravel 中的特定控制器并锚定到特定控制器

】我如何将url路由到laravel中的特定控制器并锚定到特定控制器【英文标题】:howwouldIrouteurlwithandanchortoaspecificcontrollerinlaravel【发布时间】:2016-07-1820:22:05【问题描述】:我继承了一个使用JSON并使用散列扩展框的网站。当我创建... 查看详情

如何从 Google 电子表格中的 Google Apps 脚本自动更新“站点地图”功能?

】如何从Google电子表格中的GoogleApps脚本自动更新“站点地图”功能?【英文标题】:Howtoautomaticallyupdate\'sitemap\'functionfromGoogleAppsScriptinGoogleSpreadsheet?【发布时间】:2019-06-0708:11:59【问题描述】:我对GoogleApps脚本很陌生。我正在... 查看详情

CKEditor 忽略 Laravel 中的 BASEPATH

】CKEditor忽略Laravel中的BASEPATH【英文标题】:CKEditorignoringBASEPATHinLaravel【发布时间】:2016-01-1519:24:00【问题描述】:在Laravel项目中安装了CKEditor和CKFinder,都在Public/js文件夹中在我的主页中,我加载了一个特定于站点的.js文件,... 查看详情

无法访问 Laravel 路由中的 URL

】无法访问Laravel路由中的URL【英文标题】:Can\'taccessURLinLaravelroutes【发布时间】:2014-11-2519:55:45【问题描述】:我现在正在学习Laravel,我通过创建一个简单的CRUD(CREATE-READ-UPDATE-DELETE)来做到这一点。这是我学习新框架的方式... 查看详情

laravel刀片如何在布局中将请求段合并到url路由器中?

】laravel刀片如何在布局中将请求段合并到url路由器中?【英文标题】:howlaravelbladetomergerequestsegmentintourlrouterinlayout?【发布时间】:2014-12-1109:16:54【问题描述】:我在Laravel中开发,使用Router、Request、Blade(我认为这些都是相关的... 查看详情

Blade 中的 laravel 7 路由/url 参数

】Blade中的laravel7路由/url参数【英文标题】:laravel7route/urlparaminBlade【发布时间】:2021-01-0913:24:10【问题描述】:我尝试通过GET请求将参数type=Business传递给注册表格。在Welcome.blade中我有两个指向RegisterForm的链接。@if(Route::has(\'regi... 查看详情

如何从刀片模板中的 Javascript 文件重定向 Laravel 路由

】如何从刀片模板中的Javascript文件重定向Laravel路由【英文标题】:HowtoredirectLaravelroutefromJavascriptfileinbladetemplate【发布时间】:2019-08-2802:01:48【问题描述】:我有一张处方表格并使用AJAX提交了表格。现在我想在表单成功提交后... 查看详情

我可以从站点地图生成 ASP.NET MVC 路由吗?

】我可以从站点地图生成ASP.NETMVC路由吗?【英文标题】:CanIgenerateASP.NETMVCroutesfromaSitemap?【发布时间】:2010-09-0602:35:15【问题描述】:我正在考虑为即将到来的项目学习ASP.NETMVC框架。我可以使用高级路由根据站点地图层次结构... 查看详情

Laravel 路由:使用 URL 查询字符串时如何路由?

】Laravel路由:使用URL查询字符串时如何路由?【英文标题】:LaravelRouting:HowtoroutewhenusingURLquerystring?【发布时间】:2014-08-2317:13:11【问题描述】:我有一条路线-我们称之为stats。这是我的路由当前的样子:Route::get(\'stats\',\'StatsCon... 查看详情

Laravel 子域路由设置

】Laravel子域路由设置【英文标题】:LaravelSub-domainRoutingSetup【发布时间】:2017-07-1823:35:51【问题描述】:我目前在Godaddy主机上启动并运行了一个Laravel站点。我想要的是有一个子域。mysite.xyz-主站点backoffice.mysite.xyz-管理员主站点... 查看详情

Laravel 5:仅在一个 URL 上路由 CORS 问题

】Laravel5:仅在一个URL上路由CORS问题【英文标题】:Laravel5:routingCORSissueonjustoneURL【发布时间】:2020-01-0812:23:43【问题描述】:我正在尝试向外部laravel站点发出2个ajax请求。其中一个请求完美运行(“列表”)。另一个(“savedevi... 查看详情

如何在使用 ASP.NET 友好 URL 时忽略某些路由?

】如何在使用ASP.NET友好URL时忽略某些路由?【英文标题】:HowtoignoresomeroutewhileusingASP.NETFriendlyURLs?【发布时间】:2014-10-1702:54:38【问题描述】:我成功使用了ASP.NET友好URL,但我需要忽略特定Foo.aspx页面的路由(因为此页面需要POS... 查看详情

如何修复站点地图错误?

】如何修复站点地图错误?【英文标题】:HowdoIfixsitemaperrors?【发布时间】:2021-03-2817:54:29【问题描述】:站点地图不起作用我无法获取站点地图URL,也无法使用/sitemap.xmlURL我该如何解决??siteMetadata:siteUrl:siteAddress.href,//whichis"h... 查看详情

如何将 JSON 返回数据作为参数传递给 URL 路由(laravel)

】如何将JSON返回数据作为参数传递给URL路由(laravel)【英文标题】:howtopassJSONreturndatatoaURLrouteasparameter(laravel)【发布时间】:2019-01-2608:08:18【问题描述】:我正在从事一个Laravel项目,并已成功实现搜索功能,以使用带有jquery的... 查看详情

如何构建需要特定 URL 查询参数的 Laravel 路由?

】如何构建需要特定URL查询参数的Laravel路由?【英文标题】:HowtobuildaLaravelroutethatrequiresaspecificURLqueryparameter?【发布时间】:2014-04-1822:04:46【问题描述】:假设我有这样的网址:localhost/admin/users/localhost/admin/users/?data=refresh还有一... 查看详情