Переписать динамические URL-адреса в дружественные URL-адреса

1

Я просмотрел множество разных вопросов, на которые был дан ответ о том, как переписать динамический URL-адрес, и по какой-либо причине я не могу получить код, который они используют для работы для меня. Я знаю, что мне нужно будет отредактировать файл.htaccess.

Текущий URL: example.com/search/profileview.php?storeid=1&store=aqua-addicts

Идеальный URL: example.com/search/profileview/aqua-addicts.html

Если это не возможно, мне будет хорошо все, что удаляет?, & И = из URL. Вот что я сейчас пытаюсь использовать.htaccess, который не работает.

EDIT: Разъяснение не работает. У меня есть одна страница, которая генерирует результаты на основе критериев поиска. Ссылка на эту страницу: это эквивалентно example.com/search/profileview.php?storeid=1&store=aqua-addicts

Я хотел бы иметь возможность щелкнуть ссылку и изменить URL-адрес на дружественную версию.

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/+profileview\.php\?storeid=([^&]*)&.*?store=([^&\s]*) [NC]
RewriteRule ^ profileview-storeid-%1-store-%2.html? [R=302,L]

RewriteRule ^profileview-storeid-([^-]+)-store-([^.]+)\.html$ profileview.php?storeid=$1&store=$2 [L,QSA,NE]

Любая помощь приветствуется. Я знаю, что это, вероятно, простое изменение для некоторых, но я пытался понять это примерно полтора дня.

  • 0
    Вместо того, чтобы перенаправлять старые пути на новую схему, адаптируйте ваши HTML и PHP-скрипты для самостоятельного вывода новых URL-адресов. - «Не работает» - не очень подробное описание проблемы.
  • 0
    Правило выглядит нормально, пожалуйста, объясните, что не работает?
Показать ещё 3 комментария
Теги:
.htaccess
url-rewriting

2 ответа

1
Лучший ответ

Попробуй это. Он не применяется автоматически, но позволяет удалить нежелательные? от URL.

RewriteEngine On
RewriteRule ^search/profileview/(.*).html?$ search/profileview.php?storeid=$1&store=$2 [QSA,NC,L]

Затем вы можете отрегулировать свои постоянные ссылки, например search/profileview/aqua-addicts.html.

  • 0
    Используя это, мне нужно будет вручную создать статический URL для каждого динамического URL?
  • 0
    Вам не нужно создавать URL вручную, если значения для storeid и store генерируются динамически. Просто используйте переменную после поиска / profileview /, которую вы используете, чтобы передать значение для хранилища. динамический url: search.profileview.php? storeid = <? php echo $ storeid;?> & store = <? php echo $ store;?> и вам потребуется настроить постоянные ссылки после переписывания, например: search / profileview / <? php echo $ store;?>. html
Показать ещё 2 комментария
0

Попробуй это

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^search/profileview/([^/]+).html search/profileview.php?storeid=1&store=$1 [L]
</IfModule>
  • 0
    Спасибо за ваш ответ, но это не сработало для того, что я пытался сделать

Ещё вопросы

Сообщество Overcoder
Наверх
Меню