Sida 2 av 2

Re: htaccess till ?page=

Postat: 2009-05-21 20:17
av Kail
Alltså du kan inte ha två rewrite-regler som matchar på samma mönster. Du måste sätta olika villkor (rewritecond) för dem, annars krockar de.

Drupal kan vara lite av en tröskel men det finns bra böcker om Drupal och NodeOne kommer också att ordna kurser om Drupal framåt hösten.

Re: htaccess till ?page=

Postat: 2009-05-21 21:37
av sanda
Jo det är flera som tycker jag ska ge upp mitt eget och ge mig in i drupals värld. Är det lätt att modifiera eller är det mer som joomla och wordpress (förvisso flexibelt men inte i alla lägen) tänkte mer i web 2.0 synvinkel.

Åter till mitt problem (vill gärna lösa detta) använder 2 rewritecond för första regeln. Jag använter lite av ett template system för att visa sidor så kanske kan va det också. visar lite kod.

.htaccess som endast ger min statiska (hårdkodade) sidor fina URL'er.

Kod: Markera allt

<IfModule mod_rewrite.c>
  RewriteEngine on
  # Rewrite current-style URLs of the form 'index.php?page=x'.
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^([a-zA-Z0-9]+)/?$ index.php?page=$1 [L,QSA] 
</IfModule>
index.php som hämtar rätt sida att visa.

Kod: Markera allt

if( isset( $_GET['page'] ) )
	{
    	$template = $_GET['page'] . '.php';

    	//check if template file exists, if not display error page
    	if( !file_exists( 'templates/' . $template ) )
    	{
    	$template = '404.php';
    	}
	}
	else
	{
    	$template = 'home.php';
	}

include_once( 'templates/inc/header.php' );
include_once( 'templates/' . $template );
include_once( 'templates/inc/footer.php' );
Kanske inte den optimala koden men den tjänar sitt syfte.

Vill alltså använda 2 st olika rewrite regler.

1. Den jag har (längst upp), att visa /filen för mina statiska sidor

2. Att visa /pages/1 (id) (eller titel)
har alltså en tabell kallad "pages" där jag kommer ha sidor som om-oss, kontakt o.s.v (pages.php visar sidan ifråga)

Har försökt i snart ett dygn och läst massor men kan inte komma på vad jag gör fel.