- Home
- Categorie
- Coding e Sistemistica
- PHP
- RewriteRule
-
RewriteRule
dovrei impostare .htacess in modo che qualsiasi pagina inestistente punti ad index.php.
Con
RewriteRule ^(.*)$ index.php
si rimanda a index.php anche se la pagina esiste, mentre dovrebbe rimandare a index.php solo se non esiste la pagina.
Il tutto fa fatto senza ricorrere alla gestione dell'errore 404.
-
ErrorDocument 404 /pagina_da_visualizzare.html
ciao
-
Ti è sfuggita la mia ultima riga.
Sono pagine che i motori devono vedere e mi sembra che non avviene usando ErrorDocument.
In pratica anzichè gestire complessi, per me, rewriterule, metto un identico .htaccess su diversi siti, e l'index.php gestisce il tutto interpretando l'url.
-
@Petru said:
Ti è sfuggita la mia ultima riga.
Sono pagine che i motori devono vedere e mi sembra che non avviene usando ErrorDocument.
In pratica anzichè gestire complessi, per me, rewriterule, metto un identico .htaccess su diversi siti, e l'index.php gestisce il tutto interpretando l'url.penso che dovresti fare tante rewrite rules per ogni pagina... secondo me non è il massimo!
-
Faccio un esempio:
ci sono 10.000 pagine .html, 9000 realmente esistenti e mille non esistenti, le mille non esistenti devono essere create al volo da index.php.Non posso specificare le 9000 pagine nell'.htaccess, ci vorrebbe una condizione per il rewriterule che controllasse anticipatamente l'esistenza del file.
-
Dovrebbe essere qualcosa del genere:
RewriteEngine on
RewriteCond %{script_FILENAME} !-f
RewriteRule ^(.*)$ index.phpma non mi funziona.
-
Mi correggo, funziona.
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ index.php