mod_rewrite la alias un tip de sufix de fișier la altul

Sper că pot explica acest lucru destul de clar, dar dacă nu mă anunți și voi încerca să clarific.

În prezent dezvolt un site folosind ColdFusion și au o regulă mod_rewrite în loc pentru a face să pară că site-ul folosește PHP. Orice solicitare pentru index.php este procesată de index.cfm (hărțile rulează * .php la * .cfm).

Acest lucru funcționează minunat - până acum, atât de bine. Problema este că vreau să întorc un cod de stare 404 dacă este solicitat direct index.cfm (sau orice pagină ColdFusion).

Dacă încerc să blochez accesul la fișierele * .cfm folosind mod_rewrite, returnează și un număr de 404 pentru solicitări la * .php.

Cred că ar fi trebuit să schimb schimbarea configurării Apache decât să folosesc .htaccess

0
fr hi bn

3 răspunsuri

Puteți să utilizați steagul S pentru a sări peste regula 404 , astfel:

RewriteEngine on

# Do not separate these two rules so long as the first has S=1
RewriteRule (.*)\.php$ $1.cfm [S=1]
RewriteRule \.cfm$ - [R=404]

Dacă utilizați și opțiunea Alias ​​, atunci trebuie să adăugați și steagul PT . Pentru detalii, consultați documentația mod_rewrite .

0
adăugat

Postați regulile pe care le aveți deja ca punct de plecare, astfel încât oamenii să nu trebuiască să-l recreeze pentru a vă ajuta.

Aș sugera testarea [L] a regulii care arhivează fișiere .php la fișiere .cfm ca primul lucru pe care să-l încercați.

0
adăugat

Trebuie să utilizați două grupuri distincte de reguli de rescriere, una pentru .php, cealaltă pentru .chm și pentru a le face exclusiv reciproc cu RewriteCond% {REQUEST_FILENAME}. Și folosiți pavilionul [L] așa cum a sugerat jj33.

Puteți păstra regulile în .htaccess.

0
adăugat
SEO - optimizare, România & Moldova
SEO - optimizare, România & Moldova
120 participanți

Pentru confort, opriți notificările. Parteneri: ciupacabra.com Toate grupurile IT: @Grupuri_IT