Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [.htaccess] Problem z przekierowaniem
Forum PHP.pl > Forum > Serwery WWW > Apache
athabus
Niestety serwery nie są moją mocną stroną.

Chciałbym próbuję przerobić jeden adres dynamiczny na statyczny. Chciałbym aby po wklepaniu:
Kod
example.com/f/kategoria/producent-acme
po cichu (bez przekierowania) została wywołana strona
Kod
example.com/kategoria?selected_filters=producent-acme&static_url=true


W adresie zmienia się *kategoria* i *producent-acme*.

Użyłem do tego takiej deklaracji w .htaccess
Kod
RewriteCond %{REQUEST_URI} ^/f/
RewriteRule ^f/([a-z0-9-]*).(.*)$ /$1?selected_filters=$2&static_url=true [P]


Wszystko działa pięknie... ale niestety po uruchomieniu ssl już pojawia się problem (500 + wpis w error.log).

Kod
AH00961: HTTPS: failed to enable ssl support for 127.0.0.1:443


Podejrzewam, że problemem jest tu flaga P bo już wcześniej miałem z nią problemy - da się to jakoś inaczej zapisać? Ewentualnie wiecie jak skonfigurować serwer aby wszystko działało także przy użyciu SSL?
trueblue
A po co przepuszczasz to przez proxy?
Wystarczy bez flagi [P], również nie będzie przekierowania, będzie to przepisanie.
athabus
Ale wtedy trzeba dać jakąś inną flagę? Bez tego mi zwraca 404 (nie jest to jedyny wpis w .htaccess więc może trzeba jakoś wymusić aby wykonał tą regułę?) .

Sam problem udało mi się wczoraj rozwiązać dodając do konfiuracji vhosta
Kod
SSLProxyEngine ON


Ale w sumie jak nie ma potrzeby przepuszczania przez proxy to bym spróbował bez tego. Szczerze mówiąc to w .htaccess poruszam się jak dziecko we mgle i całość po prostu robię na podstawie rzeczy znalezionych w sieci.
trueblue
Bez flagi.
Jeśli wyrzuca 404, to znaczy, że koliduje z inną regułą, której podlega ten url i ta przekierowuje na 404, albo nie obsłużyłeś tego: http://example.com/kategoria
Co otrzymujesz dla tego url po wpisaniu do paska przeglądarki?
athabus
Po wpisaniu http://example.com/kategoria mam normalną stronę kategorii.

Cały .htaccess wygląda tak:

Kod
# ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
# .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
# http://www.prestashop.com - http://www.prestashop.com/forums

<IfModule mod_rewrite.c>
<IfModule mod_env.c>
SetEnv HTTP_MOD_REWRITE On
</IfModule>

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/f/
RewriteRule ^f/([a-z0-9-]*).(.*)$ /$1?selected_filters=$2&static_url=true [P]


#Domain: presta.io
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]

RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
AddType application/x-font-woff .woff
<IfModule mod_headers.c>
    <FilesMatch "\.(ttf|ttc|otf|eot|woff|svg)$">
        Header add Access-Control-Allow-Origin "*"
    </FilesMatch>
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404

# ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
trueblue
Dodaj [L] na końcu tego przepisania.
athabus
Też daje 404 ;-(
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-2024 Invision Power Services, Inc.