web-dev-qa-db-fra.com

comment supprimer le nom du dossier de l'URL à l'aide de htaccess

Je souhaite changer l'URL de:

http://domain.com/Portfolios/iPhone/app

À:

http://domain.com/iPhone/app

Et même pour toutes les URL comme:

domain.com/Portfolios/iPad/app

À:

domain.com/iPad/app

Et de:

domain.com/Portfolios/xyz/app

À:

domain.com/xyz/app

J'ai beaucoup essayé mais rien ne fonctionne pour moi, alors aidez-moi.

Quand j'ai besoin d'aide pour expliquer pourquoi un copain a voté contre, si vous connaissez la réponse, répondez-y.

Mise à jour

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule ^Portfolios(/.*|)$ $1 [L,NC]  
</IfModule>
15
anytime

Activer mod_rewrite et .htaccess par httpd.conf puis mettez ce code dans votre .htaccess en dessous de DOCUMENT_ROOT répertoire:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^Portfolios/(.*)$ /$1 [L,NC,R]

Explication: Les règles ci-dessus font correspondre le motif d'URL qui commence par Portfolios et a quelque chose comme /Portfolios/xyz/app et met xyz/app dans $1. Il fait une redirection externe vers /$1 c'est à dire. /xyz/app.

Ce sont les drapeaux utilisés:

L  - Last
NC - Ignore (No) Case comparison
R  - External redirection (with 302) -- can be changed to R=301
27
anubhava

Vous pouvez également définir votre répertoire racine en tant que/var/www/Portfolios au lieu de/var/www/dans/etc/Apache2/sites-enabled en écrivant la ligne DocumentRoot comme

DocumentRoot/var/www/Portfolios

au lieu de DocumentRoot/var/www/et aussi cette ligne <Directory/var/www /> a changé en

<Répertoire/var/www/Portefeuilles />

1
Digant