The problem is the truncated version of the section home pages, like mysite/About and mysite/People. As I noted earlier, my site's home page displays URL's consisting of the names of various places, drawn from a database table; for example, mysite/Arizona. If I type in something that doesn't exist in my database, like mysite/xxx, it's rigged to bring up a custom error page.
However, I added a PHP switch to handled things like mysite/About and mysite/Reference. In fact, it works fine when I type in mysite/People.
But if I type in http://gw/About, it defaults to http://gw/About/?home=About, triggering the error page. Similarly, http://gw/Reference defaults to http://gw/About/?home=Reference
Is this something I can fix with RewriteCond? If so, can someone show me how to do it?
Also, I just discovered that this problem occurs only if there is a page in the matching folder, even if that page has no text or html at all. For example, if there's a page at mysite/Reference/index.php, then the URL mysite/Reference defaults to http://gw/Reference/?home=Reference. If I delete that page, then the URL correctly displays as http://gw/
So I suppose an alternative is to simply modify the home page rewrite rule --
RewriteRule ^/?([-a-zA-Z0-9_/]+)/?$ /index.php?home=$1 [L]
...so that it isn't "distracted" when a dynamic URL matches the name of a static web page.
Below is a copy of my entire .htaccess file. Thanks!
* * * * * * * * * *
# GEOWORLD
RewriteEngine On
RewriteRule ^About/([a-zA-Z0-9()_/-]+)/?$ About/index.php?bout=$1 [L]
RewriteRule ^People/([a-zA-Z0-9()_/-]+)/?$ People/index.php?man=$1 [L]
RewriteRule ^Reference/([a-zA-Z0-9()_/-]+)/?$ Reference/index.php?ref=$1 [L]
RewriteRule ^/?([-a-zA-Z0-9_/]+)/?$ /index.php?home=$1 [L]
Yahoo! Messenger with Voice. PC-to-Phone calls for ridiculously low rates.
