Question

Quelle est la meilleure méthode pour réécrire quoi que ce soit ci-dessous "/ some / subdir" à "/ some / projets / subdir" comme de ceci:

http://www.mydomain.com/some/subidr/test/

... à ceci:

http://www.mydomain.com/some/subdir/projects/test/

J'ai trouvé un question similaire affichée, mais la solution ne semblent travailler dans mon cas. Ma tentative actuelle jusqu'à présent (ce qui ne semble pas fonctionner):

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_URI} !^/projects/.*$
RewriteRule ^(.*)$ /projects/$1 [L]

EDIT:. J'ai oublié de mentionner le fichier .htaccess devrait être assis à l'intérieur / some / subdir que je n'ai pas accès en écriture à la racine web du serveur

Était-ce utile?

La solution

Ceci est la solution que je dois travailler enfin:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/some/subdir/projects/.*$
RewriteRule ^(.*)$ /some/subdir/projects/$1 [L]

Autres conseils

Essayer cette règle dans votre fichier de configuration .htaccess à la racine de documents de votre serveur:

RewriteEngine on
RewriteRule !^some/subdir/projects(/|$) some/subdir/projects%{REQUEST_URI} [L]

Comme vous voulez utiliser cette règle dans votre répertoire /some/subdir/, changer la règle comme suit:

RewriteRule !^projects(/|$) projects%{REQUEST_URI} [L]

Et si vous souhaitez rediriger toutes les demandes de /some/subdir/projects/ foobar <=> <=> , mettez cette règle au-dessus du précédent mentionné:

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /some/subdir/projects[/?\s]
RewriteRule ^some/subdir/projects/?([^/].+)?$ /some/subdir/$1 [L,R=301]

Je voudrais utiliser ceci:

RewriteEngine On
RewriteRule ^(/some/subdir)/(.*)$ $1/projects/$2

redirigera à /some/subdir/<anything> /some/subdir/projects/<anything>.

Notez que le premier est réellement nécessaire / pour correspondre au début de l'URL, à moins que vous avez mis quelque part RewriteBase /.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top