Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z mod_rewrite
Ozzy
post
Post #1





Grupa: Zarejestrowani
Postów: 204
Pomógł: 0
Dołączył: 26.12.2003
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Zastosowałem się do instrukcji na http://php.faq.pl/docs/rewrite.php , jednak kod, który jest tam napisany nie działa tak jak powinien (Windows).

Kod
RewriteRule ^/(files|images)/(.*)$ /monstrum/php/$1/$2 [l]

RewriteRule !^/(files|images)/.*$ /monstrum/php/index.php [l]


powoduje Internal Server Error

gdy zmienię na:

Kod
RewriteBase /monstrum/php/

RewriteRule ^(files|images)/(.*)$ $1/$2 [l]

RewriteRule !^(files|images)/.*$ index.php [l]


wydaje się działać, jednak tylko dla adresów takich jak: /monstrum/php/test i monstrum/php/test_123.
Nie działa natomiast w przypadku gdy dodam jeszcze jeden znak /, czyli: /monstrum/php/test/ lub /monstrum/php/test/123

strona otwiera się, jednak bez plików z folderów files i images

Pomocy:)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dooshek
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 22.10.2003
Skąd: Trójmiasto

Ostrzeżenie: (0%)
-----


Cytat
Zastosowałem się do instrukcji na http://php.faq.pl/docs/rewrite.php , jednak kod, który jest tam napisany nie działa tak jak powinien (Windows).
...



Moze to Ci pomoze

Kod
RewriteRule        (^|/)p/c/(.*)$           pics/sites/_common/$2             [L]

RewriteRule        (^|/)common.css$        css/_common.css                   [L]

RewriteRule        (^|/)js/(.*)$            core/js/$2                        [L]


Takie proste przekierowania - sorki, ze nie analizowalem Twojego problemu ale mi to dziala
po prostu wszystko co jest

<a href="p/c/foo.gif"> -> kieruje na plik pics/sites/_common/foo.gif
<script js="js/tralala.gif"> -> kieruje na plik core/js/tralala.gif

itd.

moze to cos pomoze - w razie co pytaj moge pomoc.


Aha jeszcze jedno:

Kod
RewriteRule ^/(files|images)/(.*)$ /monstrum/php/$1/$2 [l]

RewriteRule !^/(files|images)/.*$ /monstrum/php/index.php [l]


nie wiem dlaczego tak zrobiles - no chyba, ze na serwerze masz katalog /monstrum/php/... - ale raczej nie sadze - pamietaj, ze to jest sciezka na serwerze do pliku a nie URL. Poza tym ja zrobilbym tak

Kod
RewriteRule ^/(files|images)/(.*)$ /monstrum/php/$1/$2 [L]

RewriteRule .* /monstrum/php/index.php [L]


Chodzi o to, ze jesli na koncu jest [L] i zostanie wykonany pierwszy warunek to w drugim nie ma co wstawiac jego zaprzeczenia. Natomiast jesli pierwszy nie zadziala to zadziala na pewno drugi - wszystko jest przekierowywane na plik index.php (o ile oczywiscie istnieje na serwerze plik /monstrum/php/index.php)

Ja u siebie mam to zrobione tak

Kod
RewriteRule        (^|/)p/c/(.*)$           pics/sites/_common/$2             [L]

RewriteRule        (^|/)common.css$        css/_common.css                   [L]

RewriteRule        (^|/)js/(.*)$            core/js/$2                        [L]

RewriteRule .*      index.php [L]


oczywiscie calosc trzymam w pliku .htaccess w glownym katalogu projektu.

Aha, zamiast tego linku do artykulu ktory gdzie tutaj sie pojawil proponuje obejrzec dokumentacje od mod_rewrite na http://httpd.apache.org/docs/mod/mod_rewrite.html a oprocz tego URL Rewriting Guide na http://httpd.apache.org/docs/misc/rewriteguide.html. Powodzenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 27.12.2025 - 10:32