Измените URL-адрес с помощью htaccess

Все URL на моем веб-сайте имеют URL:

www.domain.com/name+name+name+name

Как изменить все URL на:

www.domain.com/name-name-name-name

мой htaccess выглядит следующим образом:

<FilesMatch "\.(htaccess|tpl)$">
Order Allow,Deny
Deny from all
</FilesMatch>

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.* /index.php [L]
Options -Indexes
2
задан 4 August 2018 в 17:12
1 ответ

Если вы хотите перенаправить все старые URL-адреса, содержащие + (плюс), на новые URL-адреса, содержащие - (дефис) (например, замените + на - ), тогда вы можете сделать что-то вроде следующего в .htaccess перед существующими директивами mod_rewrite:

# Replace all "+" with "-" with repeating "internal rewrite" and set env var "REPLACED"
RewriteRule (.*)\+(.*) $1-$2 [N,E=REPLACED:1]

# If env var "REPLACED" is set then issue final "external redirect" to the new URL
RewriteCond %{ENV:REPLACED} .
RewriteRule (.+) /$1 [R,L]

Уточнение ... это не совсем «изменение URL-адреса с помощью .htaccess ». Приведенное выше предполагает, что URL-адрес уже был «изменен в вашем приложении» (чтобы использовать дефисы вместо плюсов), а указанное выше перенаправление предназначено для улучшения SEO, когда старый URL-адрес (содержащий плюсы) был проиндексирован, связан с ним и добавлен в закладки.

0
ответ дан 3 December 2019 в 13:54

Теги

Похожие вопросы