Название города должно быть частью URL для этого.
Просмотрите настройки перезаписи URL для используемого вами веб-сервера. Например, в Apache HTTPd вы можете определить правила перезаписи.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?([^/]+)$ /index.php?city=$1 [QSA,L]
Два условия позволяют избежать применения действующего правила к существующим файлам или каталогам. Само правило захватывает URL-адреса только с одной частью пути (без /
) и перенаправляет их на index.php
, добавляя город в качестве параметра строки запроса.
Не скрипт PHP может проверить параметр. Вы можете сохранить его в файле cookie или вывести в HTML, чтобы получить к нему доступ через JavaScript.
Сохранить его в URL сложнее. URL должен выглядеть как http://example.com/cityname/
. Конечная косая черта заставляет браузер распознавать это как уровень пути, поэтому ссылка типа target.php
будет интерпретироваться как http://example.com/cityname/target.php
- сохранение названия города в URL-адресе. Но вы должны быть очень осторожны с относительными и абсолютными ссылками в выводе HTML. Правило перезаписи должно быть изменено и для конечной косой черты.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?([^/]+)/ /index.php?city=$1 [QSA,L]