Autor Zpráva
jansfabik
Profil
zdravím,
pracuji na novém systému pro správu obsahu (CMS) - bude šířen pod GNU GPL 2.0

řeším však jeden problém a nevím si s ním rady:
chci aby měl systém taková ta pěkná url takže třeba (www.example.com/moje-stranka)

tady je můj .htaccess:
# Error 404 - Page not found
ErrorDocument 404 /index.php

# Some options
Options -Indexes
Options +FollowSymLinks

# Mod rewrite
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1 [L,QSA]
</IfModule>



a httpd.conf - na webhostingu má každý svůj vlastní:
<VirtualHost *:80>
    ServerName smartps.cz
    ServerAlias www.smartps.cz
    RewriteEngine On
    DocumentRoot /home/www/smartps.cz/www/
    php_admin_value open_basedir /home/www/smartps.cz:/tmp/
    
    <Directory />
        AllowOverride All
    </Directory>
    
    CustomLog /home/www/_logs/smartps.cz.log combined
</VirtualHost>
 
<VirtualHost *:80>
    ServerName smartps.cz
    ServerAlias www.*.smartps.cz
    RewriteEngine On
    VirtualDocumentRoot /home/www/smartps.cz/%2/
    php_admin_value open_basedir /home/www/smartps.cz:/tmp/
        
    <Directory />
        AllowOverride All
    </Directory>
    
    CustomLog /home/www/_logs/smartps.cz.log combined
</VirtualHost>
 
<VirtualHost *:80>
    ServerName smartps.cz
    ServerAlias *.smartps.cz
    RewriteEngine On
    VirtualDocumentRoot /home/www/smartps.cz/%1/
    php_admin_value open_basedir /home/www/smartps.cz:/tmp/
        
    <Directory />
        AllowOverride All
    </Directory>
    
    CustomLog /home/www/_logs/smartps.cz.log combined
</VirtualHost>

# vim:ft=apache


a teď přijde ten problém
když to dám stránku na www.smartps.cz tak je www.smartps.cz/admin v pohodě
když to dám na stránku na www.smartps.cz/adresar/ tak www.smartps.cz/adresar/admin je taky v pohodě
ale když dám tu stránku na neco.smartps.cz/ tak neco.smartps.cz/admin nefunguje
řešil jsem to tak, že jsem před index.php dal znak "/" - ale potom (kdybych dal to lomítko i jinde) to nefunguje s www.smartps.cz/adresar/admin
ale když dám tu stránku na neco.smartps.cz/adresar/ tak neco.smartps.cz/adresar/admin taky nefunguje
tam už se musí už dát před index.php celý text: "adresar/" což je velmi nepraktické pokud třeba chcete přejmenovat adresář

chci takové řešení, které by mělo ve všech případech stejný .htaccess

chtěl jsem vědět, jestli nejsem špatný programátor, tak jsem zkusil třeba drupal 6.4 (hodil jsem ho na subdoménu), ale i ten selhal (nedovolil mi "clean" urls) - problém bude asi u webhostera


shrnutí problému:
nefunguje mod_rewrite na subdoméně tak, jak by měl


vím že to jde udělat
na smartps.php5.cz to funguje ok bez lomítka na začátku - rozdíl mezi mým hostingem a php5.cz je v tom, že php5 má apache2.0 a tady mají 2.2


moc prosím někoho, kdo se v tom vyzná o pomoc - webhoster mi klidně poupraví i httpd.conf když to bude fungovat
jansfabik
Profil
hmm tak b-a-n-a-n.cz trpí taky tím problémem:
viz http://www.owebu.cz/777-1179-jednoduche-mod_rewrite-nefunguje-na-subdo mene

je zajímavé že php5.cz ne - možná je to verzí apache
jansfabik
Profil
toto téma je stále aktivní, znovu prosím o pomoc

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0