Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> RewriteRule
nospor
post
Post #1





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Hej,
mam aplikacje, w niej w głównym katalogu plik .htaccess i chciałbym dokonać następujących zmian:

Kod
url/jakistekst  -------na: url/?m=jakistekst
url/jakistekst/jakistekst2  -------na: url/?m=jakistekst&a=jakistekst2


No i gdy przyjme narazie ze chce tylko pierwszą zamiane:
Kod
RewriteRule (.+) ?m=$1
To dziala. Ale gdy dorzucę drugą:
Kod
RewriteRule (.+) ?m=$1
RewriteRule (.+)/(.+) ?m=$1&a=$2

To oczywiscie jakby nie bral jej pod uwagę i adres:
url/jakistekst/jakistekst2 zamienia na ?m=jakistekst/jakistekst2

Zmiana kolejności rewritów też nie daje oczekiwanego porządku.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
webdice
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Może najpierw ja podam trochę kodu:

.htacess
Kod
RewriteEngine On
RewriteBase /
# tu pamiętaj że jeśli masz aplikacje w jakimś folderze, napisz RewriteBase /path/
    
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
    
RewriteRule ^([^/]+)$ index.php?m=$1 [L]
RewriteRule ^([^/]+)/([^/]+)$ index.php?m=$1&a=$2 [L]


index.php
  1.  
  2. <base href="http://localhost/">
  3.  
  4. <link type="text/css" rel="stylesheet" href="main.css" />
  5.  
  6. </head>
  7. <?php print_r ($_GET); ?>
  8. </body>


main.css
Kod
body
{
    background-color: #800000;    
}


Wszystko jest w tym samym katalogu (w katalogu głównym serwera). Jeśli trzymasz to w jakimś podkatalogu to dodaj RewriteBase /nazwa_katalogu/ oraz w <base href="http://serwer.pl/nazwa_katalogu/" />
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 15:58