Mod_rewrite - udało mi się uzyskać proste adresy.

Konfiguracja cmsów Joomla i Mambo.
Qwertykloper
Posty: 1
Rejestracja: 28 sie 2009, 18:47:30
Strona na CBA.pl: buxy-zarabianie.cba.pl
Płeć: Niewybrana
User Agent: Firefox Windows 1280x1024

Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: Qwertykloper »

W związku z częstymi tematami bez dobrych odpowiedzi postanowiłem napisać jak się z Tym uporałem.

Jak to zrobiłem?

Na początek w panelu administratora w Joomli klikamy na konfiguracja i po prawej zaznaczamy opcje Proste adresy i Korzystaj z mod_rewrite <jeśli ktoś chce przyrostki typu .html to niech zaznaczy 3 opcję też). To wszystko w Joomli.
Teraz najlepiej jeśli zalogować się na swoje konto w http://www.cba.pl tam na konta FTP --> menadżer plików --> logowanie-->odszukujemy .htaccess (jeśli jest plik htaccess.txt to zmieńcie jego nazwę na .htaccess -->klik w prawym górnym rogu na Zmień nazwę) -->

W .htaccess odkomentowałem

Kod: Zaznacz cały

RewriteBase / 
- usunąłem #

Plik .htaccess tak u mnie wygląda:

Kod: Zaznacz cały

##
# @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
# @package Joomla
# @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##


#####################################################
#  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
#
#####################################################

##  Can be commented out if causes errors, see notes above.
#Options +FollowSymLinks  

#
# mod_rewrite in use


RewriteEngine On



########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

RewriteBase /


########## Begin - Joomla! core SEF Section
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.]*)$  [NC]
RewriteRule (.*) index.php
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
########## End - Joomla! core SEF Section


 
i utworzyłem plik LocalSettings.php (koniecznie tak to zapiszcie)

plik LocalSettings.php

Kod: Zaznacz cały

$wgScriptPath = "/w";         # Path to the actual files (right part of first rewrite rule). Should already be in LocalSettings.php

$wgArticlePath = "/wiki/$1";  # Virtual path (left part of first rewrite rule). MUST be DIFFERENT from the path above!
$wgUsePathInfo = true;

 

i wszystko działa :) Mam nadzieję że pomogłem. Zapraszam wkrótce na moją stronę. :P
Awatar użytkownika
fuma
Przyjaciel CBA
Posty: 11168
Rejestracja: 01 sie 2005, 14:57:56
Lokalizacja: z jajka niespodzianki :P
Płeć: Mężczyzna
User Agent: Opera Windows 1440x900

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: fuma »

Kod: Zaznacz cały

RewriteBase / 
wrzucamy zaraz po

Kod: Zaznacz cały

RewriteEngine On
o czym juz wiele razy pisalem, ale dobrze wiedziec, ze sa jeszcze ludzie ktorzy sami probuja rozwiazywac problemy a nie licza na to, ze ktos ich w tym wyreczy ;]
thomas
Posty: 235
Rejestracja: 14 sty 2009, 14:33:33
Płeć: Mężczyzna
User Agent: Firefox Windows 1024x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: thomas »

Najważniejsze, że ten sposób działa :jupi: Qwertykloper - dzięki wielkie :D
Dumni po zwycięstwie, wierni po porażce 8)
kamleg
Posty: 10
Rejestracja: 09 mar 2009, 10:58:09
Strona na CBA.pl: www.kamlegit.cba.pl
Płeć: Niewybrana
User Agent: Firefox Linux 1366x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: kamleg »

Witam zrobiłem wszystko jak należy i na mojej stronie nadal nie działąją proste adresy. Wprowadziłem też modyfikację o której pisze "fuma". Działa tylko strona główna, żadna z podstron już nie.
Awatar użytkownika
fuma
Przyjaciel CBA
Posty: 11168
Rejestracja: 01 sie 2005, 14:57:56
Lokalizacja: z jajka niespodzianki :P
Płeć: Mężczyzna
User Agent: Opera Windows 1440x900

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: fuma »

cos zle zrobiles.
kamleg
Posty: 10
Rejestracja: 09 mar 2009, 10:58:09
Strona na CBA.pl: www.kamlegit.cba.pl
Płeć: Niewybrana
User Agent: Firefox Linux 1366x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: kamleg »

Jedyne niedomównienie to lokalizacja pliku: LocalSettings.php - umieściłem go równorzędnie z .htaccess czy to dobry wybór?
thomas
Posty: 235
Rejestracja: 14 sty 2009, 14:33:33
Płeć: Mężczyzna
User Agent: Firefox Windows 1024x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: thomas »

Pliki te trzeba umieścić w katalogu głównym swojego konta (zakładam,że tam masz wgraną joomle). Pytanie czy w panelu joomli wybrałes te opcje Proste adresy i Korzystaj z mod_rewrite :?:
Dumni po zwycięstwie, wierni po porażce 8)
kamleg
Posty: 10
Rejestracja: 09 mar 2009, 10:58:09
Strona na CBA.pl: www.kamlegit.cba.pl
Płeć: Niewybrana
User Agent: Firefox Linux 1366x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: kamleg »

W "Optymalizacja dla wyszukiwarek" mam wszystkie 3 opcje na "TAK".
.htaccess:

Kod: Zaznacz cały

##
#&nbsp;@version&nbsp;$Id:&nbsp;htaccess.txt&nbsp;13415&nbsp;2009-11-03&nbsp;15:53:25Z&nbsp;ian&nbsp;$
#&nbsp;@package&nbsp;Joomla
#&nbsp;@copyright&nbsp;Copyright&nbsp;(C)&nbsp;2005&nbsp;-&nbsp;2008&nbsp;Open&nbsp;Source&nbsp;Matters.&nbsp;All&nbsp;rights&nbsp;reserved.
#&nbsp;@license&nbsp;http://www.gnu.org/copyleft/gpl.html&nbsp;GNU/GPL
#&nbsp;Joomla!&nbsp;is&nbsp;Free&nbsp;Software
##


#####################################################
#&nbsp;&nbsp;READ&nbsp;THIS&nbsp;COMPLETELY&nbsp;IF&nbsp;YOU&nbsp;CHOOSE&nbsp;TO&nbsp;USE&nbsp;THIS&nbsp;FILE
#
#&nbsp;The&nbsp;line&nbsp;just&nbsp;below&nbsp;this&nbsp;section:&nbsp;'Options&nbsp;+FollowSymLinks'&nbsp;may&nbsp;cause&nbsp;problems
#&nbsp;with&nbsp;some&nbsp;server&nbsp;configurations.&nbsp;&nbsp;It&nbsp;is&nbsp;required&nbsp;for&nbsp;use&nbsp;of&nbsp;mod_rewrite,&nbsp;but&nbsp;may&nbsp;already
#&nbsp;be&nbsp;set&nbsp;by&nbsp;your&nbsp;server&nbsp;administrator&nbsp;in&nbsp;a&nbsp;way&nbsp;that&nbsp;dissallows&nbsp;changing&nbsp;it&nbsp;in
#&nbsp;your&nbsp;.htaccess&nbsp;file.&nbsp;&nbsp;If&nbsp;using&nbsp;it&nbsp;causes&nbsp;your&nbsp;server&nbsp;to&nbsp;error&nbsp;out,&nbsp;comment&nbsp;it&nbsp;out&nbsp;(add&nbsp;#&nbsp;to
#&nbsp;beginning&nbsp;of&nbsp;line),&nbsp;reload&nbsp;your&nbsp;site&nbsp;in&nbsp;your&nbsp;browser&nbsp;and&nbsp;test&nbsp;your&nbsp;sef&nbsp;url's.&nbsp;&nbsp;If&nbsp;they&nbsp;work,
#&nbsp;it&nbsp;has&nbsp;been&nbsp;set&nbsp;by&nbsp;your&nbsp;server&nbsp;administrator&nbsp;and&nbsp;you&nbsp;do&nbsp;not&nbsp;need&nbsp;it&nbsp;set&nbsp;here.
#
#####################################################

##&nbsp;&nbsp;Can&nbsp;be&nbsp;commented&nbsp;out&nbsp;if&nbsp;causes&nbsp;errors,&nbsp;see&nbsp;notes&nbsp;above.
Options&nbsp;+FollowSymLinks

#
#&nbsp;&nbsp;mod_rewrite&nbsp;in&nbsp;use

RewriteEngine&nbsp;On
RewriteBase&nbsp;/

##########&nbsp;Begin&nbsp;-&nbsp;Rewrite&nbsp;rules&nbsp;to&nbsp;block&nbsp;out&nbsp;some&nbsp;common&nbsp;exploits
##&nbsp;If&nbsp;you&nbsp;experience&nbsp;problems&nbsp;on&nbsp;your&nbsp;site&nbsp;block&nbsp;out&nbsp;the&nbsp;operations&nbsp;listed&nbsp;below
##&nbsp;This&nbsp;attempts&nbsp;to&nbsp;block&nbsp;the&nbsp;most&nbsp;common&nbsp;type&nbsp;of&nbsp;exploit&nbsp;`attempts`&nbsp;to&nbsp;Joomla!
#
##&nbsp;Deny&nbsp;access&nbsp;to&nbsp;extension&nbsp;xml&nbsp;files&nbsp;(uncomment&nbsp;out&nbsp;to&nbsp;activate)
#<Files&nbsp;~&nbsp;"\.xml$">
#Order&nbsp;allow,deny
#Deny&nbsp;from&nbsp;all
#Satisfy&nbsp;all
#</Files>
##&nbsp;End&nbsp;of&nbsp;deny&nbsp;access&nbsp;to&nbsp;extension&nbsp;xml&nbsp;files
RewriteCond&nbsp;%{QUERY_STRING}&nbsp;mosConfig_[a-zA-Z_]{1,21}(=|%3D)&nbsp;[OR]
#&nbsp;Block&nbsp;out&nbsp;any&nbsp;script&nbsp;trying&nbsp;to&nbsp;base64_encode&nbsp;crap&nbsp;to&nbsp;send&nbsp;via&nbsp;URL
RewriteCond&nbsp;%{QUERY_STRING}&nbsp;base64_encode.*(.*)&nbsp;[OR]
#&nbsp;Block&nbsp;out&nbsp;any&nbsp;script&nbsp;that&nbsp;includes&nbsp;a&nbsp;<script>&nbsp;tag&nbsp;in&nbsp;URL
RewriteCond&nbsp;%{QUERY_STRING}&nbsp;(<|%3C).*script.*(>|%3E)&nbsp;[NC,OR]
#&nbsp;Block&nbsp;out&nbsp;any&nbsp;script&nbsp;trying&nbsp;to&nbsp;set&nbsp;a&nbsp;PHP&nbsp;GLOBALS&nbsp;variable&nbsp;via&nbsp;URL
RewriteCond&nbsp;%{QUERY_STRING}&nbsp;GLOBALS(=|[|%[0-9A-Z]{0,2})&nbsp;[OR]
#&nbsp;Block&nbsp;out&nbsp;any&nbsp;script&nbsp;trying&nbsp;to&nbsp;modify&nbsp;a&nbsp;_REQUEST&nbsp;variable&nbsp;via&nbsp;URL
RewriteCond&nbsp;%{QUERY_STRING}&nbsp;_REQUEST(=|[|%[0-9A-Z]{0,2})
#&nbsp;Send&nbsp;all&nbsp;blocked&nbsp;request&nbsp;to&nbsp;homepage&nbsp;with&nbsp;403&nbsp;Forbidden&nbsp;error!
RewriteRule&nbsp;^(.*)$&nbsp;index.php&nbsp;[F,L]
#
##########&nbsp;End&nbsp;-&nbsp;Rewrite&nbsp;rules&nbsp;to&nbsp;block&nbsp;out&nbsp;some&nbsp;common&nbsp;exploits

#&nbsp;&nbsp;Uncomment&nbsp;following&nbsp;line&nbsp;if&nbsp;your&nbsp;webserver's&nbsp;URL
#&nbsp;&nbsp;is&nbsp;not&nbsp;directly&nbsp;related&nbsp;to&nbsp;physical&nbsp;file&nbsp;paths.
#&nbsp;&nbsp;Update&nbsp;Your&nbsp;Joomla!&nbsp;Directory&nbsp;(just&nbsp;/&nbsp;for&nbsp;root)

#&nbsp;RewriteBase&nbsp;/


##########&nbsp;Begin&nbsp;-&nbsp;Joomla!&nbsp;core&nbsp;SEF&nbsp;Section
#
RewriteCond&nbsp;%{REQUEST_FILENAME}&nbsp;!-f
RewriteCond&nbsp;%{REQUEST_FILENAME}&nbsp;!-d
RewriteCond&nbsp;%{REQUEST_URI}&nbsp;!^/index.php
RewriteCond&nbsp;%{REQUEST_URI}&nbsp;(/|.php|.html|.htm|.feed|.pdf|.raw|/[^.]*)$&nbsp;&nbsp;[NC]
RewriteRule&nbsp;(.*)&nbsp;index.php
RewriteRule&nbsp;.*&nbsp;-&nbsp;[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
#
##########&nbsp;End&nbsp;-&nbsp;Joomla!&nbsp;core&nbsp;SEF&nbsp;Section
&nbsp; 
Plik LocalSettings.php:

Kod: Zaznacz cały

$wgScriptPath&nbsp;=&nbsp;"/w";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;Path&nbsp;to&nbsp;the&nbsp;actual&nbsp;files&nbsp;(right&nbsp;part&nbsp;of&nbsp;first&nbsp;rewrite&nbsp;rule).&nbsp;Should&nbsp;already&nbsp;be&nbsp;in&nbsp;LocalSettings.php

$wgArticlePath&nbsp;=&nbsp;"/wiki/$1";&nbsp;&nbsp;#&nbsp;Virtual&nbsp;path&nbsp;(left&nbsp;part&nbsp;of&nbsp;first&nbsp;rewrite&nbsp;rule).&nbsp;MUST&nbsp;be&nbsp;DIFFERENT&nbsp;from&nbsp;the&nbsp;path&nbsp;above!
$wgUsePathInfo&nbsp;=&nbsp;true;
&nbsp; 
---- EDIT ----

Wydaję się iż wszystko jest w porządku. Gdy wszystkie pozycje w joomla dam na "nie" podstrony zaczynają działać normalnie ze standardowymi długimi nazwami. Mam jeszcze jedno pytanie. Przy włączonych opcjach, na podstronach wywala już błąd 404 a adres wygląda następująco: zamiast: www.xxx.pl/artukul1 jest www.xxx.pl/home/artykul1 wszystko jest poprzedzane katalogie "home". Czy to prawidłowo?
thomas
Posty: 235
Rejestracja: 14 sty 2009, 14:33:33
Płeć: Mężczyzna
User Agent: Firefox Windows 1024x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: thomas »

U mnie po wgraniu tych plików jest np adresstrony.pl/linki bądź adres_strony.pl/linki.html - to w zależności czy wybrało się opcje adresy z przyrostkiem .html
Dumni po zwycięstwie, wierni po porażce 8)
kamleg
Posty: 10
Rejestracja: 09 mar 2009, 10:58:09
Strona na CBA.pl: www.kamlegit.cba.pl
Płeć: Niewybrana
User Agent: Firefox Linux 1366x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: kamleg »

Czy ktoś zna odpowiedź co jest nie tak u mnie?
thomas
Posty: 235
Rejestracja: 14 sty 2009, 14:33:33
Płeć: Mężczyzna
User Agent: Firefox Windows 1024x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: thomas »

Może Twój edytor źle zapisuje pliki. Pobierz gotowe które działają u mnie i przeslij je na serwer -> http://www.megaupload.com/?d=5MERQZ06
Dumni po zwycięstwie, wierni po porażce 8)
kamleg
Posty: 10
Rejestracja: 09 mar 2009, 10:58:09
Strona na CBA.pl: www.kamlegit.cba.pl
Płeć: Niewybrana
User Agent: Firefox Linux 1366x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: kamleg »

Odnośnie konfiguracji było wszystko ok. Problem leżał gdzie indziej. Już się z nim uporałem. Menu mojej witryny było stworzone trochę odmiennie.
I dlatego proste adresy nie działały. Stąd też było to /home/ w adresie. Po modyfikacji jest już wszystko ok.
Jeśli ktoś będzie miał podobny problem z chcęcią pomogę
izabela
Posty: 1
Rejestracja: 10 kwie 2010, 08:55:37
Płeć: Niewybrana
User Agent: Internet Explorer Windows 1280x1024
Kontakt:

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: izabela »

Dla uzupełnienia wszystkie linie rozpoczynające się od # można usunąć.
wojtasm91
Posty: 11
Rejestracja: 22 sty 2011, 16:33:16
Strona na CBA.pl: marczynski.c0.pl
Płeć: Niewybrana
User Agent: Firefox Windows 1280x800

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: wojtasm91 »

Wszystko działa ok!!! Bardzo dziękuje za udostępnienie sposobu na rozwiązanie problemu :D
scopy
Posty: 11
Rejestracja: 20 mar 2011, 23:45:30
Strona na CBA.pl: http://www.esklepy.cba.pl/
Płeć: Niewybrana
User Agent: Firefox Windows 1024x768

Re: Mod_rewrite - udało mi się uzyskać proste adresy.

Post autor: scopy »

Wielkie dzięki kiedyś walczyłem z tym tematem
na taki sposób http://nginx.com.pl/przepisywanie-linko ... e/#more-27
Chciałem tylko dodać ,ze miałem podobny problem na apache2 i o zdziwienie Twój hatccess rozwiązał problem nie musiałem jednak wrzucać pliku
LocalSettings.php a zadziałało???
ODPOWIEDZ