Переименование внутренних URL-адресов URL-адресов для дружественных URL-адресов с использованием.htaccess

75
7

Я хочу переименовать следующие URL-адреса в URL-адрес, поддерживающий SEO.

Change the following URL : http://www.peacockgirls.com/index.php?page=1 into http://www.peacockgirls.com
Change the following URL : http://www.peacockgirls.com/index.php?page=2 into http://www.peacockgirls.com/greece-escort
Change the following URL : http://www.peacockgirls.com/index.php?page=3 into http://www.peacockgirls.com/athens-escort
Change the following URL : http://www.peacockgirls.com/index.php?page=4 into http://www.peacockgirls.com/bookings
Change the following URL : http://www.peacockgirls.com/index.php?page=5 into http://www.peacockgirls.com/jobs
Change the following URL : http://www.peacockgirls.com/index.php?page=6 into http://www.peacockgirls.com/contact-us
Change the following URL : http://www.peacockgirls.com/index.php?page=24 into http://www.peacockgirls.com/articles
Change the following URL : http://www.peacockgirls.com/index.php?page=7 into http://www.peacockgirls.com/links
Change the following URL : http://www.peacockgirls.com/index.php?profile=22 into http://www.peacockgirls.com/profile/aleena
Change the following URL : http://www.peacockgirls.com/index.php?profile=40 into http://www.peacockgirls.com/profile/fabiana
Change the following URL : http://www.peacockgirls.com/index.php?profile=48 into http://www.peacockgirls.com/profile/sabrina
Change the following URL : http://www.peacockgirls.com/index.php?profile=69 into http://www.peacockgirls.com/profile/suzanna
Change the following URL : http://www.peacockgirls.com/index.php?profile=63 into http://www.peacockgirls.com/profile/anna
Change the following URL : http://www.peacockgirls.com/index.php?profile=70 into http://www.peacockgirls.com/profile/sam
Change the following URL : http://www.peacockgirls.com/index.php?profile=61 into http://www.peacockgirls.com/profile/Larissa&Samantha
Change the following URL : http://www.peacockgirls.com/index.php?profile=54 into http://www.peacockgirls.com/profile/McKenzie
Change the following URL : http://www.peacockgirls.com/index.php?profile=29 into http://www.peacockgirls.com/profile/valery

Если вы покажете мне 4 или 5 методов переименования URL-адресов с использованием .htaccess, я сделаю оставшиеся URL-адреса. Мне дали эту задачу, но я не могу этого сделать.

спросил(а) 2021-01-19T14:56:54+03:00 2 месяца, 3 недели назад
1
Решение
62

С такими задачами я бы пошел на RewriteMap.

Вы можете использовать два отдельных текстовых файла карты (для лучшего управления файлами): один для профилей и один для страниц (любой новый файл для другого типа перезаписывания).

Ваш .htaccess можно настроить таким образом:

RewriteMap userid txt:/etc/apache2/useridmap.txt
RewriteRule ^/index.php?page=(.+) /profile/${userid:$1} [L,R=301]

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

# Comment line
MatchingKey SubstValue
MatchingKey SubstValue # comment

В вашем случае текстовый файл профилей может выглядеть следующим образом:

22 aleena
40 fabiana
# more mappings

Для перенаправления страниц вы можете использовать следующий подход (файл карты будет отличаться, а также выражения RewriteRule)

Перед любой работой я бы рекомендовал RewriteMap документацию RewriteMap чтобы вы понимали инструмент, то есть его конфигурацию и использование.

Надеюсь, это будет хорошим направлением для вашей задачи.

ответил(а) 2021-01-19T14:56:54+03:00 2 месяца, 3 недели назад
61

<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteRule %{REQUEST_FILENAME} !-f
RewriteRule %{REQUEST_FILENAME} !-d
RewriteBase /

RewriteRule ^/greece-escort/?$ /index.php?page=2 [NC,L]
RewriteRule ^/athens-escort/?$ /index.php?page=3 [NC,L]
RewriteRule ^/bookings/?$ /index.php?page=4 [NC,L]
RewriteRule ^/jobs/?$ /index.php?page=5 [NC,L]
RewriteRule ^/contact-us/?$ /index.php?page=6 [NC,L]
RewriteRule ^/articles/?$ /index.php?page=24 [NC,L]
RewriteRule ^/links/?$ /index.php?page=7 [NC,L]
RewriteRule ^/profile/aleena/?$ /index.php?profile=22 [NC,L]
RewriteRule ^/profile/fabiana/?$ /index.php?profile=40 [NC,L]
RewriteRule ^/profile/sabrina/?$ /index.php?profile=48 [NC,L]
RewriteRule ^/profile/suzanna/?$ /index.php?profile=69 [NC,L]
RewriteRule ^/profile/anna/?$ /index.php?profile=63 [NC,L]
RewriteRule ^/profile/sam/?$ /index.php?profile=70 [NC,L]
RewriteRule ^/profile/Larissa&Samantha/?$ /index.php?profile=61 [NC,L]
RewriteRule ^/profile/McKenzie/?$ /index.php?profile=54 [NC,L]
RewriteRule ^/profile/valery/?$ /index.php?profile=29 [NC,L]
</IfModule>


.htaccess

ответил(а) 2021-01-19T14:56:54+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема