Přepisování adres url php/mysql stránky s htaccess apache

0

Otázka

Mám vyhledávací formulář pro vyhledání zdravotnické instituce ve město. když jsem zobrazení výsledků mám tento URL, například : search.php?city=mycity&speciality=cardiology

Chtěl bych přepsat to URL, jako je tento: health-institution-cardiology-mycity

Jsem nastavit .htaccess pravidlo, jako je tento :

RewriteEngine on
RewriteRule health-entity-([a-zA-Z\-]+)-([a-zA-Z\-]+) search.php?city=$2&speciality=$1

To nebude fungovat, nicméně, jsem aplikoval toto pravidlo na jiný typ URL a funguje to

je tam nějaký problém s kódem? musím něco přidat?

.htaccess apache php
2021-11-20 07:23:51
1

Nejlepší odpověď

0

To bude fungovat:

RewriteEngine on
RewriteRule ^health-institution-([a-z]+)-([a-z]+)/?$ search.php?city=$2&speciality=$1 [NC,L]

Poznámka: NC (Žádný Případ) na konci dělá rurl malá a velká písmena.

2021-11-20 10:30:33

děkuji @josé , to funguje :) mám další problém: když jsem se na odkaz, například: zdraví-instituce-kardiologie-mycity, url rewrite funguje, to přesměruje na správný obsah, ale když jsem udělat vyhledávání pomocí vyhledávání se zobrazí unrewritten url vyhledávání.php?město=mycity&specialita=kardiologie, jak mohu opravit, že tak jsem si přepsat url?
narseoh

Myslím, že máš HTML formuláře s method="get" a action="search.php",, takže to funguje jako obvykle: posílání parametrů do URL. Potřebujete, aby se zabránilo váš formulář do práce jako obvykle, a místo odeslání, jen redirect na přátelské URL, pomocí formátu, který chcete. Můžete vytvořit Javascriptové funkce, které budou spuštěny při odeslání formuláře, nebo na tlačítko klepněte na tlačítko. V této funkci, můžete vytvořit URL, jak budete chtít, přičemž hodnoty ze vstupů a přesměrování (změnit umístění) na tuto adresu URL. Nezapomeňte return false na odeslat formulář. A, hej, můžete hlasovat můj anwser a přijmout to, jestli pracovali ;)
José Carlos PHP

Chci říct, nic udělat .htaccess, stačí, aby budovat své přátelské Url uvnitř vaší webové stránky.
José Carlos PHP

děkuji José, vaše vysvětlení je jasné, pokusím se implementovat toto řešení
narseoh

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................