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.csvOr you can install it globally:
npm install -g @studiometa/cli-test-redirection
test-redirection redirects.csvThe 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.csvAdd 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.csvIgnore query parameters when comparing the final URL with the target URL defined in the config.
test-redirection --ignore-query-parameters path/to/config.jsonDefine how the input file should be parsed. The parser is inferred by the given file extension.
test-redirection path/to/file.csv --parser csvReplace 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.comDisplay verbose output.
test-redirection path/to/config.json -vWhen 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-errorsDefine basic auth user. This parameter is directly passed to the underlying curl command.
test-redirection path/to/config.json --user user:password