IIS 5.1 ve PHP 5 üzerinde temiz PathInfo URL'ler ve Sorgu Strings

1 Cevap php

Ben FastCGI kullanarak PHP 5.3 ve IIS 5.1 üzerinde çalışan sorgu dize parametreleri ile 'temiz' PathInfo tarzı URL'leri almak için çalışıyorum. Ben kullanabilirsiniz bulduk:

(1) http://www.example.com/index.php?/path/to/foo/

ancak:

(2) http://www.example.com/index.php/path/to/foo/ (Not eksik ?)

Ben gibi bir sorgu dizesi ile URL'leri karıştırmak istediğiniz kadar hangi büyük bir sorun değil:

(3) http://www.example.com/index.php?/path/to/foo/?color=blue&size=small

Böyle benim $ _GET göz yapar:

Array
(
    [/myapp/foo/bar?colour] => blue
    [size] => small
)

(4) çalışması için aşağıdaki, ve IIS 5.1 doğru doldurulan $ _GET ile gibi bir URL şemasını almak için bir yolu var mı?

(4) http://www.example.com/index.php/path/to/foo/?color=blue&size=small

P.S. - Ben daha önce bunu yapmak mümkün olduğunu hatırlamıyorum, ama ben IIS değil anda Apache kullanarak ve sanıyorum. Bunun için Apache kullanmak için açılamıyor. Ancak üretim sunucusu (sadece benim makinede IIS 5.1 olması) IIS7 sahiptir.

1 Cevap

(3) için, sadece metin tek bir parça olarak sorgu dizesi tedavi etmek gerekir. Doğrudan QUERY_STRING çevre değişkeni kullanarak, yerine olmalıdır - Sen $_GET kullanarak olmamalıdır. Almalısınız /path/to/foo/?color=blue&size=small.

(4), size PATH_INFO bitiştirmek olmalı ve QUERY_STRING çevre değişkenleri için, bir ? ile katıldı ve bu değeri kullanın. Yine, olsun /path/to/foo/?color=blue&size=small. Gerekir Bu PATH_INFO var /path/to/foo ve QUERY_STRING, çünkü bir color=blue&size=small.