Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mod_rewrite] po przepisaniu działa tylko z dużej litery
Forum PHP.pl > Forum > PHP
adamantd
Witam
nie mogę tego rozkminić, przepisuję adresy na bieżąco, żeby nie musieć ich przepisywać jak skończę stronę i napotkałem na dziwny problem.

  1.  
  2. RewriteRule ^jakis-alias/?$ index.php?action=jakis-alias[L]
  3.  
  4.  


taka regułka mi nie zadziała, zadziała tylko

  1.  
  2. RewriteRule ^Jakis-alias/?$ index.php?action=jakis-alias[L]
  3.  


to był prosty przykład, kombinuję jak mogę i nie mogę tego przeskoczyć. Link jest poprawny

  1.  
  2. <a href="jakis-alias">Jakiś Alias</a>
  3.  


zamiast przerzucić mnie na localhost/mojastrona/jakis-alias to przerzuca mnie na localhost/mojastrona
jak zrobię z dużej litery to działa prawidłowo

Co może być powodem?

............
mam ustawiony znacznik base w headerze
  1. <base href="http://localhost/mojastrona/" />



edit:

działa jeszcze wtedy kiedy w odnośniku postawię na końcu slash


  1.  
  2. <a href="jakis-alias/">Jakiś Alias</a>
  3.  


z tym, że ja nie chcę ani slasha na końcu ani dużych liter w urlu
jaslanin
Kod
RewriteRule ^jakis-alias/?$ index.php?action=jakis-alias[L]


spróbuj dać spacje przed [L] albo

jakaś inna reguła w htaccess której nie podałeś w tym poście powoduje takie anomalie że działa z dużej lub z slashem, a bez tego nie, pewnie masz jakieś wyrażenie regularne które łapie także adresy w stylu ^jakis-alias/?$

bo jeżeli wyodrębnisz tylko te regułe to ona działa prawidłowo.
adamantd
Poradziłem sobie już w inny sposób ale mimo wszystko strasznie mnie to gryzie
Ponieważ jak pisałem wyżej przepisuję na bieżąco a dopiero zacząłem więc nie ma jeszcze wielu linijek, ta która mogła mieć wpływ wygląda tak:

  1.  
  2. RewriteRule ^([\w\-]+)/?([\w\-]+)?/?$ index.php?action=$1&title_art=$2 [L]
  3.  



więc razem wyglądało tak:

  1.  
  2.  
  3. RewriteRule ^jakis-alias/?$ index.php?action=jakis-alias [L]
  4. RewriteRule ^([\w\-]+)/?([\w\-]+)?/?$ index.php?action=$1&title_art=$2 [L]
  5.  


przed flagą oczywiście była spacja (jakiś-alias) to jakaś tam pod strona w tym przypadku, którą chciałem przepisać osobno, ponieważ będzie zawierała w późniejszym czasie jeszcze paginację więc chciałem mieć możliwość rozbudowy tej linijki dla tej jednej podstrony
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.