staram się zrobić to tak:Making parametry GET PHP wyglądać katalogów
http://foo.foo/?parameter=value
"nawróconych" na http://foo.foo/value
Dzięki.
staram się zrobić to tak:Making parametry GET PHP wyglądać katalogów
http://foo.foo/?parameter=value
"nawróconych" na http://foo.foo/value
Dzięki.
Zakładając, że używasz Apache, następujące tutoriale są epicko pomocne:
Drugi poradnik ma swoją odpowiedź. Przygotuj się zagłębić w lochu o nazwie mod_rewrite
.
Zakładając używasz na Apache, ten kod w pliku .htaccess działa dla mnie:
RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)/$ /index.php?parameter=$1
zależności od struktury witryny może być reklamą kilka zasad, choć.
Użyj reguł przepisywania modów, jeśli używasz Apache. To jest lepszy i bezpieczny sposób tworzenia katalogu wirtualnego.
Włączanie mod_rewrite
na serwerze Apache i używanie reguł .htaccess
do przekierowywania żądań do pliku kontrolera.
.htaccess
# Enable rewrites
RewriteEngine On
# The following two lines skip over other HTML/PHP files or resources like CSS, Javascript and image files
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# test.php is our controller file
RewriteRule ^.*$ test.php [L]
test.php
$args = explode('/', $_SERVER['REDIRECT_URL']); // REDIRECT_URL is provided by Apache when a URL has been rewritten
array_shift($args);
$data = array();
for ($i = 0; $i < count($args); $i++) {
$k = $args[$i];
$v = ++$i < count($args) ? $args[$i] : null;
$data[$k]= $v;
}
print_r($data);
Dostęp wyjście url http://localhost/abc/123/def/456 będzie następujący:
Array
(
[abc] => 123
[def] => 456
)
Google -> .htaccess mod_rewrite + poradnik. – sberry
Proszę podać swój serwer WWW, ponieważ jest to pytanie serwera sieciowego * nie * pytanie o PHP. Jeśli używasz usług IIS, możesz zobaczyć ten link w celu uzyskania informacji (ponieważ wszyscy inni udostępniają informacje o mod_rewrite) - http://www.iis.net/download/urlrewrite –