Файл htaccess: замените пробелы ссылкой hypen + на новый URL

Я бы хотел заменить любое пространство в моих URL-адресами

Это мой полный файл htaccess:

Options -MultiViews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php RewriteRule ^archive/([^/]+)$ news?title=$1 

Проблема в том, что мой заголовок часто содержит пробелы, поэтому он возвращает этот URL:

 example.com/archive/this%20is%20a%20test 

Url, который я хотел бы создать: example.com/archive/this-is-a-test

Я прочитал, что я мог бы включить «\», чтобы удалить любые пробелы, но мои попытки не сработали …

Связанный с этим вопрос: как я могу ссылаться на этот новый URL-адрес с другой веб-страницы? Я не могу использовать следующую причину php, которая просто вернет url с символами «% 20»:

 <a class="readmore" href="/archive/<?php echo $row['title'];?> 

поместите это в свой файл htaccess

 RewriteEngine On 

удалять пробелы с начала или после с +

 RewriteRule ^(.*/|)[\s+]+(.+)$ $1$2 [L] 

удалить пробелы с конца или до +

 RewriteRule ^(.+?)[\s+]+(/.*|)$ $1$2 [L] 

замените пробелы между +

 RewriteRule ^([^\s+]*)(?:\s|+)+(.*)$ $1-$2 [L,R]