Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z RewriteRule, prawie rozwiązany
Jarod
post 25.04.2007, 00:09:04
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Oto zawartość mojego .htaccess:
Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1 [L]


Jeśli wpiszę w pasku adresu np adres:
Cytat

i jeśli plik index.php istnieje zostanie załadowany.

Jeśli wpiszę w pasku adresu np adres:
Cytat

i jeśli plik main.php istnieje zostanie załadowany ALE jeśli nie istnieje to zostanie załadowany index.php

Domyślam się, że problem leży w tej części:
Cytat
RewriteRule (.*) index.php?$1 [L]

ale nie wiem czym zastąpić index tak, żeby pobierał nazwę wpisanego pliku, tzn, jeśli wywołuję plik main.php i on nie istnieje to niech wywali komunikat "Podana strona nie została odnaleziona etc"

Proszę o pomoc.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
envp
post 25.04.2007, 09:42:43
Post #2





Grupa: Zarejestrowani
Postów: 359
Pomógł: 1
Dołączył: 16.04.2006
Skąd: Łódź

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


może poprostu :

RewriteRule (.*) error404.php?$1 [L]

co spowoduje przekierowanie nie istniejącego na adres błędu smile.gif
Go to the top of the page
+Quote Post
Jarod
post 25.04.2007, 22:33:45
Post #3





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


@envp: działa thx.
Znalazłem jeszcze jednego gotowca, który też działa
Cytat
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]*)$ index.php?$1 [L]



Mam jeszcze prośbę o wytłumaczenie każdego z opisów:
Cytat
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1 [L]

Opisy RewriteCond i RewriteRule znalazłem sobie ale nie wiem co robią te konkretne przykłady.


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
Łukasz O.
post 26.04.2007, 08:47:30
Post #4





Grupa: Zarejestrowani
Postów: 191
Pomógł: 5
Dołączył: 13.01.2007

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


  1. <?php
  2. RewriteCond %{REQUEST_FILENAME} !-f  # jeśli wywołany adres nie jest rzeczywistym plikiem
  3. RewriteCond %{REQUEST_FILENAME} !-d  # oraz jeśli wywołany adres nie jest rzeczywistym katalogiem
  4. RewriteRule ^([^.]*)$ index.php?$1 [L] # przekieruj wszystko na index.php
  5. ?>


--------------------
"Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
Go to the top of the page
+Quote Post
Jarod
post 12.05.2007, 17:00:06
Post #5





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


@Łukasz O.: thx. już teraz wszystko jasne.

pzdr



EDIT: Mam jeszcze jedno pytanie. Co należy dopisać do tej zawartości
Kod
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) error404.php?$1 [L]


aby można było wpisywać http://adres_serwera/main zamiast http://adres_serwera/main.php ?

Ten post edytował Jarod 12.05.2007, 17:00:00


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post
Łukasz O.
post 12.05.2007, 17:29:06
Post #6





Grupa: Zarejestrowani
Postów: 191
Pomógł: 5
Dołączył: 13.01.2007

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


RewriteEngine On
RewriteCond %{REQUEST_FILENAME}(\.php) -f
RewriteRule (.*) $1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) info.php?$1 [L]


--------------------
"Don't tell me you want a bridge - show me the canyon you want to cross" Giuseppe Delena
Go to the top of the page
+Quote Post
Jarod
post 14.05.2007, 21:34:53
Post #7





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Niestety nie działa, tzn jak wpiszę adres http://adres_serwera/main.php to ładowany jest plik main.php. Natomiast jak wpisze http://adres_serwera/main to odpalany jest plik info.php.

Próbowałem różne sposoby, ale lipa.

Czy ktoś ma inny pomysł?

EDIT: Przeglądnąłem dzisiaj mnóstwo informacji/sposobów/etc i jedynym wyjście to zastosować
ForceType application/x-httpd-php

pozdrawiam

Ten post edytował Jarod 14.05.2007, 04:33:56


--------------------
”Godzina nauki w życiu nowoczesnego apostoła jest godziną modlitwy.”
(św. Josemaría Escrivá, Droga, 335)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 23.06.2025 - 03:28