Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zmniejszenie objętości .htaccess
Forum PHP.pl > Forum > Serwery WWW
Mrozie
Witam,

Używałem do tej pory dosyć "łopatologicznego" sposobu przepisywania linków. Pomyślałem, że można by to jakoś skrócić. Sęk w tym, że liczba zmiennych przekazywanych w $_GET jest różna (maks. 4) i nie do końca wiem, jak sobie z tym poradzić... Dotychczasowy kod prezentuje się w ten sposób:

  1. RewriteEngine On
  2. RewriteRule ^([a-zA-Z0-9]+)\/([a-zA-Z0-9]+)\/([a-zA-Z0-9]+)\/([a-zA-Z0-9]+)([/]?)$ index.php?action=$1&sub1=$2&sub2=$3&sub3=$4 [NC]
  3. RewriteRule ^([a-zA-Z0-9_]+)\/([a-zA-Z0-9_]+)\/([a-zA-Z0-9_]+)([/]?)$ index.php?action=$1&sub1=$2&sub2=$3 [NC]
  4. RewriteRule ^([a-zA-Z0-9_]+)\/([a-zA-Z0-9_]+)([/]?)$ index.php?action=$1&sub1=$2 [NC]
  5. RewriteRule ^([a-zA-Z0-9_]+)([/]?)$ index.php?action=$1 [NC]



Można to jakoś uprościć? A, i rzecz druga. Można w taki kod jakoś ładnie wpleść regułę przepisującą domena.pl na www.domena.pl?

Z góry dzięki za pomoc smile.gif 
hateman
Kod
RewriteEngine On
RewriteRule^([a-zA-Z0-9]+)/?([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)/?([a-zA-Z0-9]+)?/?$  /index.php?action=$1&sub1=$2&sub2=$3&sub3=$4 [NC]


a co do przekierowania na bez www

Kod
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R,L]
Mrozie
Przekierowanie działa świetnie, dzięki smile.gif

Niestety, ten uproszczony kod już nie. Wywala błąd 500. Jakieś inne pomysły?
hateman
zapomniałem jednego znaku zapytania smile.gif

Kod
RewriteEngine On
RewriteRule^([a-zA-Z0-9]+)/?([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?([a-zA-Z0-9]+)?/?$  /index.php?action=$1&sub1=$2&sub2=$3&sub3=$4[NC]


Powinno śmigać smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.