Pregunta

¿Cuál es el mejor método para volver a escribir nada por debajo de "/ some / subdirectorio" a "/ algunos / subdirectorios / proyectos" como de esto:

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

... a esto:

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

publicado, pero la solución no hice parece funcionar en mi caso. Mi actual intento hasta ahora (lo que no parece funcionar):

Options +FollowSymLinks
RewriteEngine On

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

EDIT:. Se me olvidó mencionar el archivo .htaccess tendría que estar sentado dentro / some / subdirectorio, ya que no tiene acceso de escritura a raíz de la web del servidor

¿Fue útil?

Solución

Esta es la solución finalmente llegué al trabajo:

RewriteEngine On

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

Otros consejos

Trate de esta regla en el archivo de configuración .htaccess en la raíz de documentos de su servidor:

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

A medida que desee utilizar esta regla en su /some/subdir/ directorio, cambiar la regla de la siguiente manera:

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

Y si desea desviar todas las peticiones de /some/subdir/projects/ foobar a <=> <=> , puso esta regla por encima de la anterior mencionada:

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

Me gustaría utilizar esto:

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

Esto redirigirá /some/subdir/<anything> a /some/subdir/projects/<anything>.

Tenga en cuenta que el principal / que realmente se requiere para que coincida con el comienzo de la URL, a menos que que han RewriteBase / establecer alguna parte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top