Domanda

Mi chiedo che scendessimo è possibile utilizzare .htaccess per riscrivere il nome della cartella. Quello che voglio dire è questo.

Diciamo che ho un URL del tipo:

www.site.com/folder1/page.php

Ora voglio riscrivere l'url per (ad esempio)

www.site.com/apple/page.php

Il cartella1 è una cartella esistente sul mio spazio web.

importante: la "mela" non è una cartella piuttosto solo un nome

!

L'approvazione qui è un passo per passo piano:

  1. Tipi di utente www.site.com/folder1/login.php
  2. L'URL deve riscrivere e non reindirizzare l'URL www.site.com/apple/login.php

Questo significa che apple è solo un nome e non una directory. Tutto il codice deve solo venire da cartella1. Acutally Apple dovrebbe essere solo un alias per folder1. Non posso rinominare folder1 a Apple. Perciò vorrei solo riscrivere folder1 a apple.

È stato utile?

Soluzione

mod_rewrite può riscrivere solo / reindirizzamento richiesto URI. Così si avrebbe bisogno di richiedere /apple/… per farlo riscritto per un corrispondente /folder1/….

Prova questo:

RewriteEngine on
RewriteRule ^apple/(.*) folder1/$1

Questa regola riscrivere ogni richiesta che inizia con il percorso /apple/… URI internamente per /folder1/….


Modifica Come si sta in realtà cercando il contrario:

RewriteCond %{THE_REQUEST} ^GET\ /folder1/
RewriteRule ^folder1/(.*) /apple/$1 [L,R=301]

Questa regola è progettato per lavorare insieme con l'altra regola di cui sopra. Richieste di /folder1/… verranno reindirizzati all'esterno /apple/… e richieste di /apple/… saranno poi riscritti internamente ritorna /folder1/….

Altri suggerimenti

Prova:

RewriteRule ^/apple(.*)?$ /folder1$1 [NC]

Se la cartella che si desidera visualizzare l'url è nella prima parte della dichiarazione - questo è ciò che corrisponderà contro e la seconda parte 'riscrive' alla vostra cartella esistente. la [NC] bandiera significa che ignorerà le differenze di caso per esempio di Apple / sarà ancora in avanti.

Vedi qui per un tutorial: http://www.sitepoint.com/ articolo / guida-url-rewriting /

C'è anche un programma di utilità di prova piacevole per le finestre è possibile scaricare da qui: http://www.helicontech.com/download/rxtest.zip Solo per notare per il tester è necessario lasciare fuori il nome di dominio - in modo che il test sarebbe contro /folder1/login.php

per reindirizzare da / folder1 a / apple provare questo:

RewriteRule ^/folder1(.*)?$ /apple$1 [R]

per reindirizzare e quindi riscrivere solo combinare il sopra nel file .htaccess:

RewriteRule ^/folder1(.*)?$ /apple$1 [R]
RewriteRule ^/apple(.*)?$ /folder1$1 [NC]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top