Gå til innhold

Trenger hjelp til å lage en enkel Mod RewriteRule


Anbefalte innlegg

Skrevet

Noen som kan lage en RewriteRule som gjør om

www/foo/bar/osv

til

www/index.php/foo/bar/osv

?

 

Jeg prøver med

RewriteRule www/[.]* www/index.php/$1

men det funker ikke (påstår ikke at det skulle funka :p).

Videoannonse
Annonse
Skrevet

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 :)

Skrevet (endret)
RewriteRule www/(.*) www/index.php/$1

Gir ikke den 99% det samme som min regel?

Den ga dessverre like dårlig ressultat som min; 500 Internal Server Error :(

 

EDIT: Dobbelpost

Endret av Überadri
Skrevet (endret)

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
Skrevet (endret)
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
Skrevet (endret)

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
Skrevet

Jeg bruker denne:

 

.htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

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

Skrevet

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?

Skrevet
$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?

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å
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...