Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod_rewrite i Apache
Forum PHP.pl > Forum > Serwery WWW
Guli
Zainstalowałem sobie serwer ręcznie Apache, php, mysql i takie tam . Wersja serwera to Apache 2.2.3 a php 5.2.0.

Stronki www działają, zarejestrowałem sobie domenę na no-ip i stworzyłem sobie virtualhost. Działa mi prawidłowo (z zewnątrz moga widzieć moje stronki). Wszystko OK poza jednym. Chciałem aby moje linki były przyjazne i zacząłem interesować sie mod-rewritem.

Za chiny nie wiem co jest nie tak. Zrobiłem wg instrukcji czyli w httpd.conf odchaczyłem moduł
Cytat
LoadModule rewrite_module modules/mod_rewrite.so


Pozniej mam takie coś

Cytat
DocumentRoot "D:/strony"
#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.

<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Deny from all
Satisfy all
</Directory>

#
# Note that from this point forward you must specifically allow
# particular features to be enabled - so if something's not working as
# you might expect, make sure that you have specifically enabled it
# below.
#

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "D:/strony">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# <a href=\"http://httpd.apache.org/docs/2.2/mod/core.html#options\" target=\"_blank\">http://httpd.apache.org/docs/2.2/mod/core.html#options</a>
# for more information.
#
Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all

</Directory>


I teraz wrzucam plik .htaccess do katalogu strony i wpisuję rózne regułki ale mi nic nie działa.

A chciałem zrobić aby z adresu

http://domena.no-ip.com/strona/index.php?id=omnie

zamienić na link

http://domena.no-ip.com/strona/omnie

Jak to trzeba zrobić w pliku .htaccess aby to zadziałało na moim serwerze ? Czy coś pominałem przy konfiguracji Apacha odnośnie mod_rewrite ? Bo mam wrażenie jakby ten moduł nie działał.
Blastereq
W katalogu /strona/ umieszczasz plik htaccess z takim kodem :
działa tylko ze znakami a-z 0-0 _ - , jeśli chcesz wszystkie to była gwiazdka z tego co pamiętam, ale lepiej poczytaj w specyfikacji.

  1. <?php
  2. Options Indexes FollowSymLinks
  3.  
  4. RewriteEngine on
  5.  
  6. RewriteRule ^$ /index.php
  7. RewriteRule ^([a-z0-9_-]+)/$1/
  8. RewriteRule ^([a-z0-9_-]+)//index.php?id=$1
  9. ?>
Guli
EDIT

Juz działa. Musiałem podać sciezke do katalogu w conf. Wpisałem teraz taką regułkę do .htaccess

Cytat
RewriteEngine On
RewriteRule ^strona/([a-zA-Z]+)$ /index.php?id=$1


Wpisując w przeglądarce adres:
http://domena.no-ip.com/strona/omnie pokazuje sie strona omnie i działa.

Tylko jest problem jak kliknę w link omnie to pokazuje mi ,że nie znalazł strony

A link omnie ma:
  1. <li class="reg"><a href="index.php?id=omnie" title="Omnie">Omnie</a></li>


Co trzeba zrobić aby po kliknięciu w link omnie znalazł stronę ale nadal w przegladarce pokazywał przyjazny url?

EDIT 2

Już sobie popradziłem. Nie wiem czy dobrze ale działa. Dałem tak:
  1. <li class="reg"><a href="http://domena.no-ip.com/strona/omnie" title="Omnie">O mnie</a></li>


Czy tak powinno być ? Bo mi teraz wyświetla i tu i tu. Czy można jeszcze coś usprawnić lub dodać w pliku .htaccess ?
Blastereq
I będzie działać na obu, możesz zrobić przekierowanie z id=% na /% . Ale jak to Ci nie powiem, bo tutaj już moja wiedza, co do rewrite'a się kończy.
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.