htaccess (geen herleiding) [REWRITEURL] (vouer na index.php)
Vra
Ek wil net 'n vinnige htaccess-herleiding kry.dws:
domain.com/subfolderGreen --> domain.com/index.php?folder=subfolderGreen
(let daarop dat die subgids Groen eintlik bestaan)
Ek het probeer, maar kon nie by die nodige regex uitkom nie.
dankie.a.
BYGEVOEG:
Jammer, ek wil hê dit moet werk vir enige subgids, nie net "subfoldergreen" wat ek gebruik nie
RewriteRule ^/([^/]+)/?$ /index.php?folder=$1 [L]
maar dit werk nie.enige leidrade?
Oplossing
Ek sou dink jou voorbeeld sou 'n oneindige lus veroorsaak sedert /index.php wedstryde wat jy doen. Probeer hierdie:
RewriteRule ^([A-Za-z0-9]+)/?$ /index.php?folder=$1 [L]
As jy wil dit om te werk vir alle dopgehou wat bestaan, dit sal waarskynlik werk so goed.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)/?$ /index.php?folder=$1 [L]
Ander wenke
RewriteRule ([^/]+)$ index.php?folder=$1
Ek dink dit sal die ding doen.
RewriteRule het 'n paar verwarrende probleme wanneer dit in .htaccess gebruik word, wat die byvoeging van 'n RewriteBase vereis.
Watter foute/probleme sien jy?As jy seker wil wees van hoe dit herlei word, kan die byvoeging van 'n [R] dikwels help met die ontfouting.
Uiteindelik...bestaan die subgids Groen werklik of nie?As dit bestaan, kan dit probleme veroorsaak.
Ek glo dit is:
RedirectMatch 301 domain.com/(.*) domain.com/index.php?folder=$1
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(([^/\ ]+/)*)/+([^\ ]*)
RewriteRule ^ /%1%3 [L,R=301]
RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L]
Line # 2 sal die saak hanteer as iemand gaan na so dit standaard website.com/mypage///// te plaas website.com/mypage/ (ek dink)