Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: htaccess + mod_rewrite błąd składni?
Forum PHP.pl > Forum > Serwery WWW
Zumi
Witam,
mam dużą prośbe o pomoc 2 sprawy

1.
Kod
### BEZ KONCOWEK *.html ###
RewriteEngine On
RewriteRule ^index.html$ /index [L,R=301]
RewriteRule ^([a-z-9-_]+)/index.html$ /$1/index [L,R=301]



kawałek kodu z pliku .htaccess dlaczego jeśli wpisze

www.photopaterek.pl/index wyskakuje mi wielokrotny wybór? lub

http://photopaterek.pl/images/picture/Ludz...ople/slides/007

jeśli dobrze sie domyslam z kodu to powinno działac przynajmniej dla plików index ale jak zrobić aby działało dla indexów jak i pozostałych?


2.
Kod
RewriteEngine On
RewriteRule ^Skrzynia...Box/([a-z0-9-_]+).html$ /images/picture/Skrzynia...Box/slides/$1.html [L,R=301]


całe portfolio jest zrobione na plikach html i chciałbym aby w linkach nie pokazywały się pełne ściezki dostepu dlaczego powyższy kod nie działa?


podaję tez całą zawartość pliku htaccess bo moze jedno z drugim sie dryzie...




Kod
### BEZ KONCOWEK *.html ###
RewriteEngine On
RewriteRule ^index.html$ /index [L,R=301]
RewriteRule ^([a-z-9-_]+)/index.html$ /$1/index [L,R=301]

RewriteEngine On
RewriteRule ^Skrzynia...Box/([a-z0-9-_]+).html$ /images/picture/Skrzynia...Box/slides/$1.html [L,R=301]



#
# WYMUSZONY SLASH
#

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [L,R=301]


#
# STANDARDY
#

AddDefaultCharset iso-8859-2

#
# REMOVE LAST-MODIFIED HEADER
#

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
Header unset Last-Modified
</FilesMatch>


#
# LINK BEZ WWW
#

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.photopaterek.pl(.*) [NC]
RewriteRule ^(.*)$ http://photopaterek.pl/$1 [R=301,L]

#
#USTAWIENIA CACHE STRONY
#

<IfModule mod_headers.c>
<FilesMatch "\.(gif)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(png)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(psd)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(ico)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(jpg)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(jpeg)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(swf)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(flv)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(js)$">
   Header set Cache-Control "max-age=14515200, public"
</FilesMatch>
<FilesMatch "\.(css)$">
   Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(html)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(htm)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(txt)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(shtml)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(txt)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(xml)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(pdf)$">
   Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(swf)$">
   Header set Cache-Control "max-age=604800, public"
</FilesMatch>
</IfModule>

#
# STRONY BLEDOW HTTP
#

ErrorDocument 400 http://photopaterek.pl/400.html
ErrorDocument 401 http://photopaterek.pl/401.html
ErrorDocument 403 http://photopaterek.pl/403.html
ErrorDocument 404 http://photopaterek.pl/404.html
ErrorDocument 500 http://photopaterek.pl/500.html


gorąco prosze o pomoc
erix
Cytat
www.photopaterek.pl/index wyskakuje mi wielokrotny wybór? lub

Że co?

Cytat
całe portfolio jest zrobione na plikach html i chciałbym aby w linkach nie pokazywały się pełne ściezki dostepu dlaczego powyższy kod nie działa?

Wywal flagę R.
Zumi
Cytat
Cytat
Cytat
www.photopaterek.pl/index wyskakuje mi wielokrotny wybór? lub

Że co?

Cytat
Cytat
całe portfolio jest zrobione na plikach html i chciałbym aby w linkach nie pokazywały się pełne ściezki dostepu dlaczego powyższy kod nie działa?

Wywal flagę R.


wywaliłem flage R

co do tego lub to jakoś tak mi się ujęło ale chodziło mi o link....

co zrobić z tym aby działało bez rozszerzeń?

np.
http://photopaterek.pl/images/picture/Ludz...ople/slides/007
www.photopaterek.pl/index

teoretycznie jest formułka ale nie działa chyba .... mówie chyba bo wygląda jakby nie działała a ja na tym się nie znam...



jeszcze jedno pytanie do tych powyzej...

chce robić na stronie czasem przerwe techniczną i rowziązywałem sobie to tym ze ustawiałem

  1. DirectoryIndex przerwa_techniczna.html


i wtedy to jakoś działało... czy jest jakiś lepszy pomysł na zrobienie czegos takiego zeby nikt nie mogł w tym czasie chodzic po stronie? <całe portfolio jest zrobione w html...

AdIoS_Neo
Kod
RewriteRule ^Skrzynia...Box/([a-z0-9-_]+).html$ /images/picture/Skrzynia...Box/slides/$1.html [L,R=301]
w tym -> Skrzynia...Box to są kropki czy dowolne znaki ? Znak kropki w wyrażeniach regularnych przedstawia -> \.
Btw. nie przepisujesz z adresu http://www.przyklad.pl/index.html na plik index tak jak to zrobiłeś:
Kod
RewriteEngine On
RewriteRule ^index.html$ /index [L,R=301]
RewriteRule ^([a-z-9-_]+)/index.html$ /$1/index [L,R=301]


a z adresu http://www.przyklad.pl/index na plik index.html

Kod
RewriteEngine On
RewriteRule ^index$ /index.html [L,R=301]
RewriteRule ^([a-z-9-_]+)/index$ /$1/index.html [L,R=301]
Zumi
Cytat(AdIoS_Neo @ 1.09.2010, 21:40:02 ) *
Kod
RewriteRule ^Skrzynia...Box/([a-z0-9-_]+).html$ /images/picture/Skrzynia...Box/slides/$1.html [L,R=301]
w tym -> Skrzynia...Box to są kropki czy dowolne znaki ? Znak kropki w wyrażeniach regularnych przedstawia -> \.


tak ale zastosowałem kropki i działa... co do indexu niestety nie działa jakkolwiek bym nie wstawił...
AdIoS_Neo
A pousuwałeś flagi R tak jak erix pisał ? W tym .htaccess masz zdublowane
Kod
<FilesMatch "\.(txt)$">

Tu nie powinno być / na początku adresów na które przepisujesz:
Kod
RewriteEngine On
RewriteRule ^index$ index.html [L]
RewriteRule ^([[:print:]]+)/index$ $1/index.html [L]

btw. po co przed każdą komendą przepisania maszRewriteEngine On ?

edit: zapomniałem, ten wielokropek ... działa, bo znak kropki mieści się w zbiorze dowolnego znaku, ale będzie też dopasowywało np.:
SkrzyniaLOLBox
Zumi
Cytat(AdIoS_Neo @ 3.09.2010, 14:56:02 ) *
A pousuwałeś flagi R tak jak erix pisał ? W tym .htaccess masz zdublowane
Kod
<FilesMatch "\.(txt)$">

Tu nie powinno być / na początku adresów na które przepisujesz:
Kod
RewriteEngine On
RewriteRule ^index$ index.html [L]
RewriteRule ^([[:print:]]+)/index$ $1/index.html [L]

btw. po co przed każdą komendą przepisania maszRewriteEngine On ?

edit: zapomniałem, ten wielokropek ... działa, bo znak kropki mieści się w zbiorze dowolnego znaku, ale będzie też dopasowywało np.:
SkrzyniaLOLBox



Kod
<FilesMatch "\.(txt)$">


już usunąłem

ten index dalej nie działa sad.gif

czyli ten wielokropek jest niepoprawny? nazwy folderów zawierają te 3 kropki... tak samo jak nazwy galerii

tak wygląda teraz mój htaccess
Kod
#
# SKRACANIE LINKOW - POKAZ FOTO
#

RewriteEngine On
RewriteRule ^Abstrakcja...Abstraction/PokazFoto([a-z0-9-_]+)$ /images/picture/Abstrakcja...Abstraction/slides/$1.html [L]
RewriteRule ^Fauna...Animals/PokazFoto([a-z0-9-_]+)$ /images/picture/Fauna...Animals/slides/$1.html [L]
RewriteRule ^Flora...Plants/PokazFoto([a-z0-9-_]+)$ /images/picture/Flora...Plants/slides/$1.html [L]
RewriteRule ^Krajobrazy...Landscapes/PokazFoto([a-z0-9-_]+)$ /images/picture/Krajobrazy...Landscapes/slides/$1.html [L]
RewriteRule ^Ludzie...People/PokazFoto([a-z0-9-_]+)$ /images/picture/Ludzie...People/slides/$1.html [L]
RewriteRule ^Miejskie...Urban/PokazFoto([a-z0-9-_]+)$ /images/picture/Miejskie...Urban/slides/$1.html [L]
RewriteRule ^Photoshop...Photoshop/PokazFoto([a-z0-9-_]+)$ /images/picture/Photoshop...Photoshop/slides/$1.html [L]
RewriteRule ^Skrzynia...Box/PokazFoto([a-z0-9-_]+)$ /images/picture/Skrzynia...Box/slides/$1.html [L]

#
# SKRACANIE LINKOW - GALERIE
#

RewriteEngine On
RewriteRule ^Abstrakcja...Abstraction$ /images/picture/Abstrakcja...Abstraction/index.html [L]
RewriteRule ^Fauna...Animals$ /images/picture/Fauna...Animals/index.html [L]
RewriteRule ^Flora...Plants$ /images/picture/Flora...Plants/index.html [L]
RewriteRule ^Krajobrazy...Landscapes$ /images/picture/Krajobrazy...Landscapes/index.html [L]
RewriteRule ^Ludzie...People$ /images/picture/Ludzie...People/index.html [L]
RewriteRule ^Miejskie...Urban$ /images/picture/Miejskie...Urban/index.html [L]
RewriteRule ^Photoshop...Photoshop$ /images/picture/Photoshop...Photoshop/index.html [L]
RewriteRule ^Skrzynia...Box$ /images/picture/Skrzynia...Box/index.html [L]

#
# STRONY BLEDOW HTTP
#

ErrorDocument 400 http://photopaterek.pl/NieprawidloweZapytanie
ErrorDocument 401 http://photopaterek.pl/NieautoryzowanyDostep
ErrorDocument 403 http://photopaterek.pl/DostepZabroniony
ErrorDocument 404 http://photopaterek.pl/NieZnaleziono
ErrorDocument 500 http://photopaterek.pl/WewnetrznyBladSerwera

#
# SKRACANIE LINKOW - STRONY BLEDOW HTTP
#

RewriteEngine On
RewriteRule ^NieprawidloweZapytanie$ /400.shtml [L]
RewriteRule ^NieautoryzowanyDostep$ /401.shtml [L]
RewriteRule ^DostepZabrooniony$ /403.shtml [L]
RewriteRule ^NieZnaleziono$ /404.shtml [L]
RewriteRule ^WewnetrznyBladSerwera$ /500.shtml [L]

#
# STANDARDY
#

AddDefaultCharset iso-8859-2
#DirectoryIndex PrzerwaTechniczna

#
# SKRACANIE LINKOW - ROZNE
#

RewriteEngine On
RewriteRule ^PrzerwaTechniczna$ /przerwa_techniczna.html [L]

#
# REMOVE LAST-MODIFIED HEADER
#

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|txt|psd)$">
Header unset Last-Modified
</FilesMatch>


#
# LINK BEZ WWW
#

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.photopaterek.pl(.*) [NC]
RewriteRule ^(.*)$ http://photopaterek.pl/$1 [R=301,L]

#
#USTAWIENIA CACHE STRONY
#

<IfModule mod_headers.c>
<FilesMatch "\.(gif)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(png)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(psd)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(ico)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(jpg)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(jpeg)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(swf)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(flv)$">
   Header set Cache-Control "max-age=7257600, public"
</FilesMatch>
<FilesMatch "\.(js)$">
   Header set Cache-Control "max-age=14515200, public"
</FilesMatch>
<FilesMatch "\.(css)$">
   Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(html)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(htm)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(txt)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(shtml)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(xml)$">
   Header set Cache-Control "max-age=10800, public, must-revalidate"
</FilesMatch>
<FilesMatch "\.(pdf)$">
   Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(swf)$">
   Header set Cache-Control "max-age=604800, public"
</FilesMatch>
</IfModule>


pytanko ostatnie...

czy

Kod
RewriteEngine On
RewriteRule ^PrzerwaTechniczna$ /przerwa_techniczna.html [L]


to i to

Kod
DirectoryIndex PrzerwaTechniczna


powinno działac? bo niestety nie działa? co jeszcze może być źle w tym pliku?
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.