Autor | Zpráva | ||
---|---|---|---|
wordik Profil * |
Dobrý den, mám tyto 3 pravidla pro hezčí URL, ovšem překrývají se, jelikož potřebuju pravidlo pro nahrazení &neco= a &neco2= v odkazu stránky index.php z: index.php?neco=145&neco2=ano -> /145/ano
ale to stejné potřebuji i v souboru account.php, z account.php?neco=203&neco=info ->/acccount/203/info ještě přikládám kompletní .htaccess kód, který ovšem nefunguje jak má, jelikož se jednotlivá pravidla překrývají, půjde to nějak vyřešit? RewriteEngine On RewriteBase / # /example.php => /example RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([_a-zA-Z0-9\-]+)/?$ $1.php [L,QSA] # account.php?v1=user-bar => account/user-bar RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^account/([_a-zA-Z0-9\-]+)/?$ account.php?v1=$1 [L,QSA] # account.php?v1=statistics&v2=race => account/statistics/race RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^account/([_a-zA-Z0-9\-]+)/?([_a-zA-Z0-9\-]+)/?$ account.php?v1=$1&v2=$2 [L,QSA] # account.php?v1=user-bar&v2=1&v3=5 => account/user-bar/1/5 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([_a-zA-Z0-9\-]+)/?([_a-zA-Z0-9\-]+)/?([_a-zA-Z0-9\-]+)/?$ account.php?v1=$1&v2=$2&v3=$3 [L,QSA] # index.php?v1=new&v2=add=> /new/add RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([_a-zA-Z0-9\-]+)/?([_a-zA-Z0-9\-]+)/?$ index.php?v1=$1&v2=$2 [L,QSA] # index.php?v1=new&v2=delete&v3=1 => /new/delete/1 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^index/([_a-zA-Z0-9\-]+)/?([_a-zA-Z0-9\-]+)/?([_a-zA-Z0-9\-]+)/?$ index.php?v1=$1&v2=$2&v3=$3 [L,QSA] # forgot-password.php?v1=new-password&v2=$1 => forgot-password/new-password/9e107d9d372bb6826bd81d3542a419d6 RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^forgot-password/new-password/?([_a-zA-Z0-9\-]+)/?$ forgot-password.php?v1=new-password&v2=$1 [L,QSA] Díky předem za pomoc |
||
Kajman_ Profil * |
#2 · Zasláno: 22. 10. 2009, 08:54:24
Zkuste odstranit otazníky za vnitřními lomítky. Také by mělo pomoci uvádět nejprve co nejkonkrétnější pravidla a pak teprve obecná.
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -d [OR] RewriteCond %{REQUEST_FILENAME} -f RwriteRule .* - [L] # account.php?v1=statistics&v2=race => account/statistics/race RewriteRule ^account/([_a-zA-Z0-9\-]+)/([_a-zA-Z0-9\-]+)/?$ account.php?v1=$1&v2=$2 [L,QSA] # account.php?v1=user-bar => account/user-bar RewriteRule ^account/([_a-zA-Z0-9\-]+)/?$ account.php?v1=$1 [L,QSA] # index.php?v1=new&v2=delete&v3=1 => /new/delete/1 RewriteRule ^index/([_a-zA-Z0-9\-]+)/([_a-zA-Z0-9\-]+)/([_a-zA-Z0-9\-]+)/?$ index.php?v1=$1&v2=$2&v3=$3 [L,QSA] # forgot-password.php?v1=new-password&v2=$1 => forgot-password/new-password/9e107d9d372bb6826bd81d3542a419d6 RewriteRule ^forgot-password/new-password/([_a-zA-Z0-9\-]+)/?$ forgot-password.php?v1=new-password&v2=$1 [L,QSA] # account.php?v1=user-bar&v2=1&v3=5 => account/user-bar/1/5 RewriteRule ^([_a-zA-Z0-9\-]+)/([_a-zA-Z0-9\-]+)/([_a-zA-Z0-9\-]+)/?$ account.php?v1=$1&v2=$2&v3=$3 [L,QSA] # index.php?v1=new&v2=add=> /new/add RewriteRule ^([_a-zA-Z0-9\-]+)/([_a-zA-Z0-9\-]+)/?$ index.php?v1=$1&v2=$2 [L,QSA] # /example.php => /example RewriteRule ^([_a-zA-Z0-9\-]+)/?$ $1.php [L,QSA] |
||
wordik Profil * |
#3 · Zasláno: 22. 10. 2009, 15:10:32
Děkuji moc, funguje skvěle ;-)
Jen v kódu byla chybička nebo spíše překlep: RewriteRule .* - [L] |
||
Časová prodleva: 14 let
|
0