Gå til innhold

Trenger hjelp til å lage en enkel Mod RewriteRule


Anbefalte innlegg

Videoannonse
Annonse

Slenger meg på denne her jeg og. Skal rewrite host.com/index.php?id=<id-en> til bare "id-en".

 

Prøvde noe alle den forrige men ser ikke ut til å funke.

 

RewriteEngine on
RewriteRule /index.php?id=(.*) /$1

 

Setter stor pris på hjelp :)

Lenke til kommentar

Kodene mine jeg brukte på en tutorialside:

 

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteBase /

# Vanlig omgjøring: eks: /tutorial/
RewriteRule ^([^/.]+)/?$ /index.php?side=$1

# Tutorial omgjøring: eks: /tutorial/php/
RewriteRule ^tutorial/([^/\.]+)/?$ ?side=$1 [L]

# Tutorial id: eks: /tutorial/php/id/
RewriteRule ^tutorial/([a-zA-Z0-9]+)/([0-9]+)/?$ ?side=$1&id=$2
</IfModule>

 

 

 

Og det fungerte bra :D

 

- Så vidt jeg skjønner så er $1, $2 osv.. antallet på hvor mange mapper du skal ha. :p

Endret av php_user
Lenke til kommentar
RewriteRule www/(.*) www/index.php/$1

Gir ikke den 99% det samme som min regel?

Når det gjelder regulære uttrykk skal det ikke mye til for å forandre betydningen helt. Prøv denne:

RewriteRule ^www/(.+)$ www/index.php/$1

Endret av Lokaltog
Lenke til kommentar

Takk, men den ga også Internal Server error :hm:

 

EDIT: Er det noen annen måte å fikse linker på formen

www.example.com/foo/bar/osv

? Har de som nevnt allerede på formen

www.example.com/index.php/foo/bar/osv

(skal ikke ha mapper som heter foo og bar, det er variabler)

Endret av Überadri
Lenke til kommentar

Den funker! :D Takker.

Sjekker den om det er en fil som requestes før den omskriver ellerno? Den gir meg nemlig tilgang til mapper.

 

Men nå funker ikke phpkoden min som skal fange opp variablene i urlen lenger! :(

Koden min er:

	$url = explode("/", $_SERVER['PATH_INFO']);

if (count($url)-1 > 1) {
	echo 'Url-variabler: '.$_SERVER['PATH_INFO'];
	echo '<br />Antall: ';
	echo count($url)-1;
	echo "<hr>";
	for ($tall = 1; $tall < count($url); $tall++) {
		echo $tall.'. '.$url[$tall].'<br />';
	}
} else {
	echo "Ingen url-variabler";
}

$url er tom. Resultatet er "Ingen url-variabler".

Hvordan ken jeg få det til å funke med pulses Mod Rewrite?

Lenke til kommentar
$url er tom. Resultatet er "Ingen url-variabler".

Hvordan ken jeg få det til å funke med pulses Mod Rewrite?

 

if (isset($_SERVER['PATH_INFO']))
{
$url = htmlentities(trim($_SERVER['PATH_INFO'], "/"));
if ($url != '')
	$url = explode('/', $url);
else
	$url[0] = 'index';
}
else
$url[0] = 'index';

 

Noe slikt?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...