I am running PHP as an isapi module on IIS 5.1 on windows xp. I have a
script, index.php, that takes its paramaters from search engine friendly urls
like this:

http://www.example.com/index.php/view/myview

which is equivalent to this:

http://www.example.com/index.php?view=myview

This works fine on my customers windows 2000 server. However, my windows xp
machine gives me a 404 not found error.

So, in summary, this works:

http://www.example.com/index.php

this doesn't:

http://www.example.com/index.php/view/myview

I need IIS to pick the first file it matches succesfully with the URL
instead of using the whole thing. Similar to Apache.

Thanks.

Re: 404 error with SE friendly URLs by David

David
Sun May 08 00:34:58 CDT 2005

In the PHP Application Mapping, make sure that "Check if File Exists" is
unchecked.

IIS is picking the same file that Apache does. IIS is just doing one more
security check that Apache doesn't.

FYI: Your search-engine friendly URLs violate common CGI convention. A
reason search engines don't keep querystring is because it is considered
dynamic state. You are mutating the URL to force the search engine to save
dynamic state.

--
//David
IIS
http://blogs.msdn.com/David.Wang
This posting is provided "AS IS" with no warranties, and confers no rights.
//
"Randy" <Randy@discussions.microsoft.com> wrote in message
news:5E159B57-0DD2-45BE-A02E-40A3D15403DC@microsoft.com...
I am running PHP as an isapi module on IIS 5.1 on windows xp. I have a
script, index.php, that takes its paramaters from search engine friendly
urls
like this:

http://www.example.com/index.php/view/myview

which is equivalent to this:

http://www.example.com/index.php?view=myview

This works fine on my customers windows 2000 server. However, my windows xp
machine gives me a 404 not found error.

So, in summary, this works:

http://www.example.com/index.php

this doesn't:

http://www.example.com/index.php/view/myview

I need IIS to pick the first file it matches succesfully with the URL
instead of using the whole thing. Similar to Apache.

Thanks.



Re: 404 error with SE friendly URLs by Randy

Randy
Mon May 09 09:14:05 CDT 2005

"David Wang [Msft]" wrote:

> In the PHP Application Mapping, make sure that "Check if File Exists" is
> unchecked.

I had done this. Unfortunately, I did it for the "Web Sites" folder and not
for "Default Website". Thank you for your suggestion.

> IIS is picking the same file that Apache does. IIS is just doing one more
> security check that Apache doesn't.
>
> FYI: Your search-engine friendly URLs violate common CGI convention. A
> reason search engines don't keep querystring is because it is considered
> dynamic state. You are mutating the URL to force the search engine to save
> dynamic state.

You make it sound so horibble ;) While normally a standards only kind of
guy, I can live with this one. Because of the framework I use in PHP, even
my most static pages would be considered dynamic.

Thank you for your help.

> --
> //David
> IIS
> http://blogs.msdn.com/David.Wang
> This posting is provided "AS IS" with no warranties, and confers no rights.
> //
> "Randy" <Randy@discussions.microsoft.com> wrote in message
> news:5E159B57-0DD2-45BE-A02E-40A3D15403DC@microsoft.com...
> I am running PHP as an isapi module on IIS 5.1 on windows xp. I have a
> script, index.php, that takes its paramaters from search engine friendly
> urls
> like this:
>
> http://www.example.com/index.php/view/myview
>
> which is equivalent to this:
>
> http://www.example.com/index.php?view=myview
>
> This works fine on my customers windows 2000 server. However, my windows xp
> machine gives me a 404 not found error.
>
> So, in summary, this works:
>
> http://www.example.com/index.php
>
> this doesn't:
>
> http://www.example.com/index.php/view/myview
>
> I need IIS to pick the first file it matches succesfully with the URL
> instead of using the whole thing. Similar to Apache.
>
> Thanks.
>
>
>