Pregunta

Estoy escribiendo algunas de mis propias reglas durante unos scripts PHP que estoy escribiendo, aunque tengo poca experiencia con la expresión regular. Nota:. Poca

Básicamente quiero pasar todas las direcciones URL, excepto unos pocos como argumentos a index.php, la mayoría de reescritura URL definidos como babosas en una base de datos.

es decir: existe / admin, / config, / imágenes, / lib y / plantilla, pero no quieren ser reescrito. Pero todo lo demás, quiero pasar como argumentos a index.php.

Estoy haciendo esto en la actualidad con:

url.rewrite-once = (
    "^/(.*)$" => "/index.php?$1"
)

Lo que funciona a la perfección con las babosas de bases de datos, sin embargo, también redirige las carpetas mencionadas anteriormente. Estos contienen los archivos necesarios para acceder directamente, pero no puedo encontrar en cualquier lugar que describe cómo excluir las cadenas de un partido.

Una vez que sé cómo hacer esto, puedo imaginar el resto, pero al ser nuevo en expresión regular no sé por dónde empezar.

Cualquier ayuda sería muy apreciada.

Editar: desde que he dado a estos un tiro:

"^/(index\.php|admin|config|images|lib|template)" => "$0",

Para que FF informa de un redireccionamiento sin fin para dichas carpetas;

"^/(?!(admin|config|images|lib|template))(.*)$" => "$0"

No coincide con todo, pero las carpetas;

"^/([^(admin|config|images|lib|template)]*)$" => "/index.php?$1"

Una vez más, no volver a escribir nada;

"^/(.*)$" => "/index.php?$1"

reescribe todo, incluyendo las carpetas, que no quiero reescrita.

¿Fue útil?

Solución

Me parece que han logrado lo que estaba buscando con la siguiente expresión:

"^/(?!(index\.php|admin|config|images|lib|template)).*$" => "/index.php?$0"

a continuación, sólo

trim( $_SERVER['argv'] ,"/")

en index.php para obtener la babosa.

Otros consejos

Prueba esto:

url.rewrite-once = (
    "^/(index\.php|admin|config|images|lib|template)" => "$0",
    "^/(.*)$" => "/index.php?$1"
)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top