TYPO3 Exception 1316104317

Note

Below, the TYPO3 community may have provided additional information or solutions for this exception. However, these may or may not apply to your particular case. If you can provide more information, you should come back here and add your experience and solution steps to this issue once you have resolved it.

General TYPO3 troubleshooting tips can be found in the section "Troubleshooting" of the menu, and live support is available in the TYPO3 Slack channel #typo3-cms. (See How to get your TYPO3 Slack account.)

To add your experience, click "Edit on GitHub" above and follow the "Edit on GitHub" workflow. Also check out our tip on Coding Style and reST.

#1316104317 TYPO3\CMS\Extbase\Mvc\Exception
The default controller for extension "..." and plugin "..." can not be determined.`

If this happens for your own extensions:

Basic requirements

This basically means that you need to define a controller in your ext_localconf.php. Usually the first entry is taken as default controller/action. Here's an example:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
  //assuming your extension is in typo3conf/ext/your_ext folder
  'YourExt',

  // Plugin name
  'Pi1',

  // An array of controller-action combinations. The first one found is the default one.
  [
    \YourVendor\YourExt\Controller\YourController::class => 'index,new,create,edit,update'
  ],

  // An array of non-cacheable controller-action-combinations (they must already be enabled)
  [
    \YourVendor\YourExt\Controller\YourController::class => 'new,create,edit,update'
  ],
);

Situation: Adding your plugin via TypoScript

This error can appear if you got your TypoScript wrong. Make sure that you write your settings with the first letter in uppercase and double-check your ext_localconf.php.

lib.test = USER_INT
lib.test {
  # Calling the extbase bootstrapper
  userFunc = TYPO3\CMS\Extbase\Core\Bootstrap->run

  # Upper camel case!
  extensionName = YourExt
  vendorName = YourVendor

  # As you set it in \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin
  pluginName = Pi1
}

Situation: Adding the Plugin via FlexForm Plugin

Extbase has the possibility to override internal configuration from FlexForms. This error might appear if you change a plugin from different types.

Try deleting the plugin instance and add a new one, or clear tt_content.pi_flexform field for current plugin, to avoid wrong switchableControllerActions from FlexForm.

If this still isn't resolved, or happens for 3rd party extensions:

Broken routing configuration:

If you got this error for e.g. EXT:news which probably shouldn't be badly configured, it can be a broken routing configuration. So check your site yaml (includes) for

routeEnhancers:
  News:
    type: Extbase
    extension: News

And replace the lines following that with a default solution from the docs.

Bad redirects:

If you have a httpd redirect, custom early middleware redirect, or a TYPO3 redirect configured for the URL, even a simple one like redirecting /paths to variants with trailing slash /paths/ then this can happen, too. Although that is more common with POST scenarios. Removing that redirect could resolve that problem.