次のコードでシステムプラグインを作成できます。
public function onAfterInitialise(){
$app = JFactory::getApplication();
$config = JFactory::getConfig();
$uri = JUri::getInstance();
if($config->get("sef") && $app->isSite() && $uri->getQuery()){
throw new Exception("Not Found", 404);
}
}
したがって、疑問符の後に何かがある?
と、404エラーがスローされます。
代わりに404エラーをスローし、必要に応じてユーザーをホームページにリダイレクトできます。
編集:
一部の拡張機能で疑問符を使用できるようにするには、次のようにします。
public function onAfterRoute(){
$app = JFactory::getApplication();
$config = JFactory::getConfig();
$menu = $app->getMenu();
if($config->get("sef") && $app->isSite() && !$menu->getActive()){
throw new Exception("Not Found", 404);
}
}
現在のルートに関連付けられたメニューがない場合、404エラーがスローされます。