Така че аз работя на този сайт, който ще работикато социална мрежа в смисъл, че всеки потребител трябва да има страница на потребителския си профил, достъпен чрез проста връзка, която той / тя може да сподели с приятели и други неща.
Аз напълно разбирам как да направя това, като седанните, базирани на име / идентификатор от SQL база данни и правилно показване на избраните резултати. Въпреки това аз само ще знам как да направя това, като се получи идентификатор от $_GET
, като този:
Ако потребителят се отвори www.socialnetwork.com/profile.php?name=daniel
, Мога да потърся $_GET["name"]
и се грижи за останалото.
Но вместо да го правим по този начин, наистина желая потребителската страница да бъде намерена чрез връзка като тази:
www.socialnetwork.com/daniel
или поне www.socialnetwork.com/profile/daniel
Така че повече прилича на фалшива поддиректория, вместо на атрибут. Как мога да направя това?
Отговори:
0 за отговор № 1Можете да опитате да използвате $_SERVER["REQUEST_URI"]
което ще ви даде нещо подобно profile/daniel
, а след това с помощта на регулярен израз за анализ на данните за URL адресите.
Разбира се, че ще трябва да насочите тези URL адреси към PHP скрипта чрез conf.
0 за отговор № 2
Можете да използвате MOD_REWRITE с .htaccess за тази цел.
Това ръководство може да ви помогне: Ultimate Ръководство за htaccess и mod_rewrite | Branded3.
Проверете и този отговор: Използване на mod-rewrite за преминаване на маршрут към index.php.
Особено това може да ви помогне (непроверено, моля, напишете някои коментари):
RewriteEngine on
RewriteBase /
RewriteRule /profile/(.*) /profile.php?name=$1 [R=301,L]
Още информация за MOD_REWRITE: Въведение - Apache HTTP сървър