Перезапись URL в PHP без htaccess

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

например, Исходный URL

www.example.com/file?q=name

ожидаемый URL

www.example.com/file/name
21
задан MrWhite 5 July 2017 в 18:25
поделиться

4 ответа

Как сказано, что другие люди, просто используйте ссылки, такие как /index.php/ Хороший / смотрит / URL .
«Index.php» в середине URL может выглядеть немного странно, но я не думаю, что можно было бы выглядеть лучше без .htaccess

else, вы можете попросить вашего хостера перенаправить любой URL для / index.php Так что вы можете обрабатывать перезаписи URL без того /index.php в вашем URL.

Затем вы можете просто использовать совпадение REGEX, чтобы обнаружить, какой файл включить.
preg_match ('@ [/] {1} ([a-za-z0-9] +) @', $ _server ["path_info"], $ matchs) ($ matches будут содержать все "части «Урл в массиве)

Будьте осторожны с включением файлов, используйте Whitelist , так что вы уверены, что никто не сможет загрузить внутренние файлы.

16
ответ дан 29 November 2019 в 21:35
поделиться

, поскольку Аликс Аксель предположил, что вы можете использовать

www.example.com/index.php/file/name

, то вы будете использовать $_SERVER['REQUEST_URI'] для обработки URL.

5
ответ дан 29 November 2019 в 21:35
поделиться

Лучше всего, если у вас будут такие URL:

www.example.com/index.php/file/name

Вы перепишете ваш PHP-код.

4
ответ дан 29 November 2019 в 21:35
поделиться

Если у вас есть сервер Apache и AcceptPathInfo включен, то вы можете использовать написанный вами URL. Запрос /имя/файла будет автоматически перезаписан на /файл со значением PATH_INFO, равным /имя, если /файл является обычным файлом.

3
ответ дан 29 November 2019 в 21:35
поделиться
Другие вопросы по тегам:

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