/ / Reindirizzamento admin / ??? ad admin.php / ??? con .htaccess - php, .htaccess, url, mod-rewrite, rewrite

Reindirizzamento admin / ??? ad admin.php / ??? con .htaccess - php, .htaccess, url, mod-rewrite, rewrite

Ecco il mio file htaccess al momento:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /blog/

ErrorDocument 404 /blog/404.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*).html$ post.php/$1.html

RewriteRule ^index$ index.php
RewriteRule ^archives$ archives.php
RewriteRule ^about$ about.php
RewriteRule ^search$ search.php

RewriteRule ^feed$ feed.php

Al momento se vado a domain.com/blog/*.html, sta reindirizzando (in background) a domain.com/blog/post.php/*

Vorrei quasi copiarlo, ma non sono sicuro di tutte queste cose sulle espressioni regolari.

Vorrei poter anche andare a domain.com/blog/admin/* e per reindirizzare (in background) a domain.com/blog/admin.php?p=*

Se voi ragazzi poteste aiutarmi, lo apprezzerei davvero!

Grazie

risposte:

1 per risposta № 1

Qualcosa di simile a:

RewriteRule ^/?admin/(.*)$ admin.php?p=$1&%{QUERY_STRING} [L,NC]

Farà il trucco.

Questo viene fatto molto rapidamente e non è testato ma ti dà l'idea. Lo metti sopra:

RewriteRule ^(.*).html$ post.php/$1.html

Modifica: eliminato il secondo riscritto da quando ho appena realizzato che è inutile

Modifica: aggiunta anche la stringa di query poiché in realtà stai convertendo _GET ora.


0 per risposta № 2

Aggiungi le visualizzazioni multiple alla prima riga del tuo .htaccess:

Options FollowSymLinks MultiViews

Quindi, riavvia apache. Dovrebbe puntare admin su admin.php.

Nota: non avere più file nella stessa directory con lo stesso nome e un'estensione diversa.

http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html