.htaccess in mod_rewrite
3 naročniki
3 naročniki
Živjo,
skozi celoten podaljšan vikend sem sem ubadal s mod_rewrite, glede na to da sem samouk pri teh stvareh bi potreboval vašo pomoč oz. nasvet.
Uporabljam
Apache 2 (2.2.22)
PHP 5.4.28-1~dotdeb.1
OS: Debian
Ko zaženem phpinfo mi pokaže da je modul mod_rewrite uspešno nameščen.
V ssh ko sem nameščal mod_rewrite mi je prikazalo to, je to vredu ali ne?
Po tem ukazu sem tudi restartal apache server
Moj .htaccess file pa je sledeči:
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index\.
RewriteCond %{REQUEST_URI} !^/$
RewriteRule ^([^/]*)$ /?page=$1 [L,QSA]
RewriteRule ^([^-]*)/([^-]*)/$ /?page=$1&act=$2 [QSA,L]
RewriteRule ^rss/([^/]*)$ /?page=rss&cat=$1 [L]
RewriteRule ^account/([0-9]+)$ /?page=account&next=$1 [QSA,L]
Problem je v tem, da mi vrže vedno 404 error. Sedaj me zanima, če bi mi kdo znal pomagati/svetovati kje sem naredil napako.
14 odgovorov
kelvan:
Najprej še enkrat preveri pravice na tej mapi in vseh fajlih v njej :)Potem pa še:
Options FollowSymLinks
AllowOverride All
DirectoryIndex index.phpZdej glede na to, da je OS Debian... če ne gre za default sajt - a si naredil nov sajt v /etc/apache2/sites-available in ga potem enejblal z a2ensite? V tem primeru bo config za specifičen sajt v tej mapi.
Večino informacij boš našel tule
Situacija je taka file apache2/sites-available je chmood 755, datoteka v njem default ter default-ssl sta chmood 644.
@SlimDeluxe očitno sva se napačno razumela. Stran je na http://domena.si, se pravi ni na kakršnikoli poddomeni ali drugi mapi.
Kolikor razmišljam kakšen bootrap ali pa smarty tpl najbrž tukaj ne igrata pomembne vloge ali pač ? Že vnaprej najlepša hvala obema ker mi dejansko veliko pomagata, saj se sam srečujem s takimi težavami prvič...
narediti moraš novo datoteko za ta sajt in ga potem omogočiti. Permišni v tej mapi ne igrajo nobene vloge, igrajo pa vlogo v mapi, kjer sajt dejansko je (verjetno /var/www/domena.si)
na ftp serverju imam fajle od strani direktno v /var/www in potem imam recimo notri
/var/www/index.php
/var/www/.htaccess
/var/www/main.php
etc...
ker imam dejansko na strežniku samo to stran. Glede na situacijo se bolj kot ne nagibam k možnosti, da bi nekomu pač plačal da mi stvar uredi. Ker očitno tole kljub vaši pomoči mi ne bo uspelo rešiti ...
Se opravičujem za bump teme ampak mogoče bom še komu pomagal s to rešitvijo.
v /etc/apache2/sites-available/default zamenjal moje nastavitve s temi in čudežno deluje.
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Hvala še enkrat vsem ki ste mi pomagali pri tem problemu.