All Projects → Lansoweb → basepath

Lansoweb / basepath

Licence: MIT license
PHP middleware to remove a path prefix from a request uri

Programming Languages

PHP
23972 projects - #3 most used programming language

Base Path Middleware for PHP

This middleware just removes a prefix from the request uri.

Installation

This middleware can be installed with composer.

$ composer require los/basepath

Usage

Just add the middleware as one of the first in your application.

For example:

$app->pipe(new \LosMiddleware\BasePath\BasePathMiddleware('/site'));

Every request with /site prefix will be replaced:

/site => /
/site/blog => /blog
/site/contact-us => /contact-us

Mezzio (formerly Zend Expressive)

If you are using mezzio-skeleton, you can copy config/los-basepath.global.php.dist to config/autoload/los-basepath.global.php and modify configuration as your needs.

Then, add the middleware to your pipeline:

$app->pipe(LosMiddleware\BasePath\BasePathMiddleware::class);

Dynamic base path

In some cases a dynamic base path might be required. This can be achieved with the following code in your configuration file:

$scriptPath = dirname($_SERVER['SCRIPT_NAME']);

return [
    // Use directory of script path if available, otherwise default to empty string.
    'los' => [
        'basepath' => strlen($scriptPath) > 1 ? $scriptPath : '',
    ],
    
    // rest of the configuration ...
];
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].