Easily test your redirection plan.
You can directly use the CLI with docker
:
docker run -it --rm -v $PWD:/app studiometa/test-redirection redirects.csv
Or with npx
:
npx @studiometa/cli-test-redirection redirects.csv
Or you can install it globally:
npm install -g @studiometa/cli-test-redirection
test-redirection redirects.csv
The redirects.csv
file should have 2 columns: the first one is the original URL, the second is the redirected URL.
The Docker image can configure an Apache environment to test request against a mocked environment.
# Create your .htaccess file with redirections to test
vim .htaccess
# Create a CSV fiels containing from,to URLS
vim redirects.csv
# Configure the temporary hosts referenced in your redirects, they will be configured in the Docker container
export DOMAINS='fqdn.com,www.fqdn.com'
# Run the Docker image by linking the current directy to /app
docker run -it --rm -v $PWD:/app -e DOMAINS studiometa/cli-test-redirection redirects.csv
Limit the number of tests running concurrently.
# Limit to 1 test
test-redirection --concurrency 1 path/to/redirects.csv
test-redirection -c 1 path/to/redirects.csv
Add a delay in milliseconds between batch of tests.
# Wait for 1s between each batch of tests
test-redirection --delay 1000 path/to/redirects.csv
test-redirection -d 1000 path/to/redirects.csv
# Wait for 1s between each tests
test-redirection --delay 1000 --concurrency 1 path/to/redirects.csv
test-redirection -d 1000 -c 1 path/to/redirects.csv
Ignore query parameters when comparing the final URL with the target URL defined in the config.
test-redirection --ignore-query-parameters path/to/config.json
Define how the input file should be parsed. The parser is inferred by the given file extension.
test-redirection path/to/file.csv --parser csv
Replace the host from the values in the configuration file to easily test against different environment.
test-redirection path/to/config.json --replace-host preprod.fqdn.com
Display verbose output.
test-redirection path/to/config.json -v
When in verbose mode, will only print errors to the console. Useful when you have hundreds of redirections with only a few one failing.
test-redirection path/to/config.json -v --only-errors
Define basic auth user. This parameter is directly passed to the underlying curl
command.
test-redirection path/to/config.json --user user:password