HTML/PHP/AJAX/JS - [mod_rewrite] Problem z przyjaznymi URLami
Dj Haker - 04-06-2012, 21:36 Temat postu: [mod_rewrite] Problem z przyjaznymi URLami Witam.
Mam:
www.xxxxxxx.xx/photo.php?id=22
Chciałbym uzyskać następujący efekt:
www.xxxxxxx.xx/foto/22
Niestety jeżeli ustawię przyjazny adres w .htaccess to strona wyświetla się ale bez grafiki, bez stylu CSS, tak jakby plik photo.php znalazł się w folderze foto ( nieistniejącym ) i tym samym np ścieżka do styli czy też grafiki była by nieprawidłowa. Mam nadzieję, że nie namieszałem nic w opisie i zrozumieliście mnie o co chodzi.
Wersja foto-22 działa prawidłowo. foto/22 już nie.
Mój plik .htaccess
Kod: | Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{HTTP_HOST} ^www\.danielszura\.pl$ [NC]
RewriteRule ^(.*)$ http://danielszura.pl/$1 [L,R=301]
RewriteBase /
RewriteRule ^foto/([^-]+)$ photo.php?id=$1 [L]
ServerSignature EMail
SetEnv SERVER_ADMIN daniel@danielszura.pl
SetEnvIfNoCase user-Agent ^eCatch [NC,OR]
SetEnvIfNoCase user-Agent ^EirGrabber [NC,OR]
SetEnvIfNoCase user-Agent ^EmailSiphon [NC,OR]
SetEnvIfNoCase user-Agent ^ExtractorPro [NC,OR]
SetEnvIfNoCase user-Agent ^FlashGet [NC,OR]
SetEnvIfNoCase user-Agent ^GetRight [NC,OR]
SetEnvIfNoCase user-Agent ^Widow [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC] |
Pozdrawiam i z góry dziękuję za pomoc
kevin_ - 05-06-2012, 19:17
Ustaw sobie w sekcji head parametr <base href="http://danielszura.pl" /> powinno pomóc.
Bądź wczytuj linki do obrazków/CSS/JS,itd z adresem folderu np.
stronę trzymasz w folderze /website/
więc pełna ścieżka do obrazka to: /website/images/logo.jpg
jeśli masz w głównym folderze to ścieżka: /images/logo.jpg a nie images/logo.jpg
Dj Haker - 05-06-2012, 20:04
kevin_ napisał/a: | <base href="http://danielszura.pl" /> |
kevin_ wielkie dzięki ! wystarczyło dodać tą linijkę i wszystko działa.
Po drodze wyszedł na jaw jeszcze jeden problem.
Mam stronę zbudowaną na divach. Mam na stronie galerię zdjęć. Zdjęcia wczytują się w divie #main.
I teraz jak zrobić ( czy wgl jest taka możliwość ) aby po otworzeniu strony foto/22 wczytywał się właśnie ten div a nie góra strony. wersja foto/22#main oczywiście działa ale chciałbym uniknąć takiej adresacji z racji estetyki linków. Czy jest możliwość zrobienia tego w inny sposób ?
kevin_ - 05-06-2012, 20:44
Za pomocą jQuery oczywiście.
Kod: |
<script type="text/javascript">
<!--
$(document).ready(function() {
var pozycja = $("#main").position();
$("body").scrollTop(pozycja.top);
});
-->
</script>
|
załącz tylko bibliotekę jQuery
Dj Haker - 05-06-2012, 21:10
Biblioteka jQuery już dawno podłączona bo mam slider i rozbudowane formularze.
Jeszcze raz dziękuję za pomoc.
Temat do zaknięcia
|
|
|