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
nospor
post
Post #2





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




Ok, jesli robie jak mowisz, to dziala. Potem zagniezdzam sciezki, czyli wchodze glepiej, tez dziala.

No a na mojej aplikacji nie dziala. No i dopiero wtedy dolukalem roznice miedzy tym co podajesz, a tym co mam. U ciebie index.php, .htaccess i main.css, lezą w tym samym katalogu. U mnie pliki css, leza jeszcze w katalogu css. Zalozylem wiec i u ciebie katalog css i do niego wrzucilem main.css i juz nie poszlo.
Oto Twoja struktura po mojej modyfikacji:
Kod
index.php
.htaccess
css/main.css


.htaccess:
Kod
RewriteEngine On
RewriteBase /
    
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. <html>
  2. <head>
  3.  
  4. <base href="http://localhost/">
  5. <link rel="stylesheet" href="css/main.css" type="text/css" />
  6.  
  7. </head>
  8. <body>
  9. <?php print_r ($_GET); ?>
  10. </body>
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: 16.10.2025 - 21:23