Skocz do zawartości
kubu65

Problem z mod_rewrite

Polecane posty

Witam,

postawiłem cms sNews na subdomenie umownie zzz.abc.pl, cały skrypt cms znajduje się w jednym pliku i muszę zastosować mod_rewrite. Mam taki plik .htaccess (taki jak podali na stronie od cmsa)

<IfModule mod_php4.c>
php_value session.use_trans_sid 0
</IfModule>
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
RewriteEngine On
RewriteBase /zzz
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) $1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?category=$1 [L]

po wejściu na "zzz.abc.pl", dostaje 500 Intern.... oczywiście jak wejdę przez "abc.pl/zzz" to wszystko działa jak należy.

Co może być nie tak? Oczywiście mod_rewrite na pewno jest włączony.

Z góry dzięki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Do /etc/apache2/sites-enabled/default nie mam dostępu ponieważ to zwykły virtual, natomiast w panelu DirectAdmin w ogólnych logach nie ma niczego co by się tego tyczyło, a w logach errorów nic nie ma

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

<IfModule mod_php4.c>
php_value session.use_trans_sid 0
</IfModule>
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
RewriteEngine On
RewriteBase /zzz < --------------TO JEST ŹLE!!!!!
RewriteCond %{REQUEST_FILENAME} -f 	[/i][i]< --------------TO JEST ŹLE!!!!![/i]
[i] RewriteRule ^(.*) $1 [L] <------------- MIEJSCE GDZIE TRZEBA WPISAC CO MA PRZENIESC
RewriteCond %{REQUEST_FILENAME} !-d [/i][i]< --------------TO JEST ŹLE!!!!![/i]
[i] RewriteRule ^(.*)$ index.php?category=$1 [L][/i] <-------------- NIE ISTOTNE ZAWSZE SZUKA PLIKU INDEX ALBO PHP ALBO HTML[i]

 

 

RewriteEngine On

Options +FollowSymlinks

RewriteBase /

RewriteCond %{HTTP_HOST} zzz.abc.pl

RewriteCond %{REQUEST_URI} !zzz/

RewriteRule ^(.*)$ zzz/$1 [L]

 

masz cos takiego jak wildcard? i czy na 100% masz mod_rewrite ON?

 

<IfModule mod_php4.c> php4 masz na serwie? czy cms jest pod php4 a ty maz php5 czy masz moze na serwie fastcgi by zmienial php wszystko powinienes znalesc w DirectAdmin na temat parametrow konta serwera. Sporo niewiadomych napisz jaki to cms bedzie mi latwiej , wklepie go gdzies na jakas maszyne i sprawdze z subdomenami

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
[/i]RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} zzz.abc.pl
RewriteCond %{REQUEST_URI} !zzz/
RewriteRule ^(.*)$ zzz/$1 [L]

zamiast tego co opisałeś, że jest źle mam dać to co dałem powyżej?

 

mod_rewrit na 100% jest włączone bo inaczej skrypt pod wrizu.pl/hentai (to o tą stronę chodzi) by nie chodził

 

wildcard mogę włączyć wystarczy że napisze do admina

 

standardowo miałem php5, ale zmieniłem w DA na php4, oczywiście na php5 tez nie chodziło

 

 

EDIT:

po wpisaniu

RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} hentai.wrizu.pl
RewriteCond %{REQUEST_URI} !hentai/
RewriteRule ^(.*)$ hentai/$1 [L]

zamiast 500, dostaje 404, sami zobaczcie hentai.wrizu.pl, oraz teraz źle chodzi w ten sposób wrizu.pl/hentai - po przejściu na jakąś podstronę

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Żeby włączyć wildcard musiałem założyć nową domenę hentai.wrizu.pl wiec wrizu.pl/hentai już nie działa bo teraz pliki są w innych katalogach. Tak więc mam hentai.wrizu.pl z plikiem .htaccess (kod poniżej) i dostaje 404 "The requested URL /hentai was not found on this server."

<IfModule mod_php4.c>
php_value session.use_trans_sid 0
</IfModule>
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTP_HOST} hentai.wrizu.pl
RewriteCond %{REQUEST_URI} !/hentai
RewriteRule ^(.*)$ /hentai$1 [L]

gdy zmieniłem

 RewriteCond %{REQUEST_URI} !/hentai
RewriteRule ^(.*)$ /hentai$1 [L]

na

 RewriteCond %{REQUEST_URI} !/
RewriteRule ^(.*)$ /$1 [L]

strona główna się otwiera ale dalej nic innego nie działa

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

aaa.hentai.wrizu.pl

bbb.hentai.wrizu.pl

cokolwiek.hentai.wrizu.pl

otwiera to samo co hentai.wrizu.pl, ten sam błąd a więc błąd jest w tym .htaccess.

 

Spróbuj to:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

 

RewriteRule (.*) index.php?id=$1 [L]

+

reszta ze skryptu którym obsługujesz.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Spróbowałem i strona już działała tylko że zawsze na główną przenosiło, więc podmieniłem jedną linijke z oryginalnego .htaccess na

RewriteRule ^(.*)$ index.php?category=$1 [L]

i teraz wszystko ładnie śmiga.

 

Wielkie dzięki wszystkim, temat można zamknąć.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Spróbowałem i strona już działała tylko że zawsze na główną przenosiło, więc podmieniłem jedną linijke z oryginalnego .htaccess na

RewriteRule ^(.*)$ index.php?category=$1 [L]

i teraz wszystko ładnie śmiga.

 

Wielkie dzięki wszystkim, temat można zamknąć.

 

//SITE - Automatically detects the scripts location.

function site() {

$host = 'http://'.$_SERVER['HTTP_HOST'];

$directory = dirname($_SERVER['SCRIPT_NAME']);

$website = $directory == '/' ? $host.'/' : $host.$directory.'/';

return $website;

 

to jest zawartość głównego pliku ktory wiele wyjasnia - a prawde powiedziaszy sam zinstalowalem to dzis by sprawdzic. Ciesze sie ze dziala

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×