Как создать динамические / дружественные URL с помощью PHP? - PullRequest
1 голос
/ 05 августа 2010

Может кто-нибудь объяснить, как создавать дружественные URL?Я имею в виду такие URL, как http://store.steampowered.com/app/22600/, на которых нет таких страниц, как index.php видимый.

Ответы [ 4 ]

4 голосов
/ 05 августа 2010

Если у вас есть только cpanel, используйте .htaccess .

Если это не сработает, у вас останется парсинг URL в php с такой ссылкой:

http://server.com/router.php/search

Вы можете сделать это с чем-то вроде этого.

<?
list($junk,$url) = explode("router.php",$_SERVER['REQUEST_URI']);
$paths = explode("/", $url);
if ($paths[0] == 'search')
{
   Header("Location: /search.php");
}
?>
1 голос
/ 05 августа 2010

Вам нужно найти apache mod_rewrite (при условии, что вы используете apache для своего веб-сервера). Сам PHP не делает этого за вас, веб-сервер выполняет большую часть работы. Вы должны указать своему веб-серверу использовать mod_rewrite, чтобы он указывал все URL, которые соответствуют определенному шаблону, для указания того, что когда-либо .php файл вам нравится Вы можете передавать аргументы в своем шаблоне URL любым способом, который вы выберете. например используя / для разделения ключевых значений или просто значений. Если у вас нет корневого доступа к серверу и он включен, вы обычно можете поместить эти правила перезаписи мода в файл .htaccess в корне вашего сайта.

Sitepoint - хороший справочник для начинающих. http://articles.sitepoint.com/article/guide-url-rewriting

1 голос
/ 05 августа 2010
0 голосов
/ 05 августа 2010

если вы используете apache, это должно сработать / это идея:

RewriteRule ^(.*)$ /index.php?/$1 [L]

теперь ваш URL перейдет к http://store.steampowered.com/index.php/app/22600/

...