.htaccess — как писать красивые URL без файла htaccess в Stack Overflow

Красивые URL без htaccess

Я хочу написать красивый URL, как:
http://yousite.com/member/1/ вместо http://yousite.com/index.php?page=member&ID = 1
Но я сделал это с файлом htaccess, и теперь я хочу сделать это без файла htaccess, потому что иногда у вас нет прав на редактирование файла htaccess на сервере.

-1

Решение

Если у вас есть сервер Apache и включен AcceptPathInfo, вы можете просто использовать ссылки, такие как /index.php/nice/looking/url.
«Index.php» в середине URL-адреса может выглядеть немного странно, но я не думаю, что возможно, чтобы он выглядел лучше без .htaccess

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

Затем вы можете просто использовать регулярное выражение, чтобы определить, какой файл включить.
preg_match (‘@ [/] {1} ([a-zA-Z0-9] +) @’, $ _SERVER [«PATH_INFO»], $ соответствия) ($ соответствия будет содержать все «части» URL-адреса в массив)

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

1

Другие решения

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

0

Я мог бы иметь это Одна строка кода внутри index.php страница, если я не хочу использовать .htaccess,

Псевдокод: Получить идентификатор и перенаправить пользователя

Краткое объяснение: Concat идентификатор, который вы получили в URL и перенаправить в нужное место с этим идентификатором

Реальный код

header('Location: http://yousite.com/member/'.$_GET['id'].'/');

0
По вопросам рекламы [email protected]