contextualcode/ezplatform-admin-url-alias-redirects
/content/edit/123) to admin panel equivalents (e.g., /admin/content/123).UrlAliasService).url_aliases table), ensure Laravel’s ORM (Eloquent) can query them efficiently.UrlGenerator) may need Laravel equivalents (e.g., Illuminate\Routing\Router).Frontend Request → Laravel Middleware → Check Alias DB → Redirect to Admin Route → Admin Panel
| Risk Area | Mitigation Strategy |
|---|---|
| Alias Resolution Logic | Abstract eZ-specific logic into a Laravel-compatible service layer (e.g., AliasRedirector). |
| Performance Overhead | Cache alias lookups (e.g., Redis) to avoid DB hits on every request. |
| Route Conflict | Ensure admin routes are namespaced (e.g., admin.*) to avoid collisions. |
| Legacy URL Complexity | Validate alias patterns early (e.g., regex matching) to fail fast on invalid routes. |
| Testing | Mock alias DB queries and middleware behavior in PHPUnit/Pest. |
/admin/{content_id})?Handle middleware.AppServiceProvider.Route::redirect() or Redirect::to() for admin routes.UrlAlias) with indexed alias and siteaccess fields.Schema::create('url_aliases', function (Blueprint $table) {
$table->id();
$table->string('alias')->unique();
$table->string('siteaccess');
$table->string('admin_route');
$table->timestamps();
});
public function handle(Request $request, Closure $next) {
$alias = $request->path();
$adminRoute = AliasRedirector::resolve($alias);
if ($adminRoute) {
return redirect()->to($adminRoute);
}
return $next($request);
}
illuminate/support (for caching, collections).illuminate/routing (for redirect logic).admin.* routes).AliasRedirectMiddleware in app/Http/Kernel.php.AliasRedirector class to handle logic.AliasRedirector::logMissed($alias)).admin_route).php artisan alias:cache:clear
alias and siteaccess fields.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Alias DB Down | All redirects fail. | Fallback to config-based aliases. |
| Cache Eviction Storm | High latency spikes. | Implement cache warming. |
| Invalid Admin Route | 500 errors. | Graceful fallback to 404. |
| Middleware Misconfiguration | No redirects triggered. | Health check endpoint to validate. |
/content/{id} → /admin/content/{id}).ALIAS_REDIRECT_ENABLED).How can I help you explore Laravel packages today?