91³Ô¹ÏÍø

Watch CBS News

Matt Rhule out of the running for Penn State coaching vacancy with reported contract extension at Nebraska

Matt Rhule is out of the running for Penn State's coaching job as he's reportedly being given a multi-year contract extension at the University of Nebraska.

Rhule, a Penn State alum, was a popular name being thrown around as a possible replacement in Happy Valley after James Franklin was fired.

Despite all the speculation of a possible return to Pennsylvania, a reunion between Rhule and the Nittany Lions seems to be unlikely as will keep him with the Cornhuskers beyond 2030.

, Rhule is slated to make $7.5 million this season with his salary increasing annually to a maximum of $12.5 million per year in 2030.

Nebraska v Maryland
COLLEGE PARK, MARYLAND - OCTOBER 11: Head coach Matt Rhule of the Nebraska Cornhuskers watches the game against the Maryland Terrapins at SECU Stadium on October 11, 2025 in College Park, Maryland. G Fiume / Getty Images

Sports Illustrated said an announcement about Rhule's extension will take place Thursday. 

Indiana head coach Curt Cignetti's name was heavily mentioned as a possibility for the coaching job as well, as he has several Pennsylvania ties including being a former head coach at Indiana University of Pennsylvania. 

Indiana v Oregon
EUGENE, OREGON - OCTOBER 11: Head coach Curt Cignetti of the Indiana Hoosiers looks onto the field during the second half against the Oregon Ducks at Autzen Stadium on October 11, 2025 in Eugene, Oregon. Soobum Im / Getty Images

Cignetti was then given a massive contract extension with Indiana, making him the third-highest paid coach in all of college football.

The Penn State coaching vacancy is one of several high-profile jobs open right now in college football along with LSU and Florida both in need of new coaches following the firing of Brian Kelly and  

After James Franklin was fired, Penn State athletic director Pat Kraft said the university's next coach will need to be able to maximize elite-level resources, attack the transfer portal, and develop at the highest level.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });