You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Chad Day <cd...@atpco.com> on 2002/12/04 20:44:51 UTC
[users@httpd] RE: mod_rewrite issues [ongoing, retitled]
I see. I think I found the problem, I have to specity the full document
root path in the RewriteCond, even though the DocumentRoot is correct. So
now I have:
<VirtualHost calendar.domain.com>
DocumentRoot /usr/local/www/vhosts/domain.com/htdocs/calendar
DirectoryIndex index.php
ServerName calendar.domain.com
RewriteLogLevel 9
RewriteLog /usr/local/www/sites/domain.com/logs/rewrite_log
LogFormat COMBINED
ErrorLog /usr/local/www/sites/domain.com/logs/error_log
TransferLog /usr/local/www/sites/domain.com/logs/access_log
RewriteEngine on
RewriteCond
/usr/local/www/sites/domain.com/htdocs/calendar/%{REQUEST_FILENAME} !-f
RewriteRule ^(.+) /view.php?ID=$1 [R,L,NE]
</VirtualHost>
This -almost- works. It redirects correctly, but with the leading slash
problem:
http://calendar.domain.com/cday goes to:
http://calendar.domain.com/view.php?ID=/cday
but like I mentioned, I can strip that off in PHP. The only other issue I
have is requests to:
http://calendar.domain.com or
http://calendar.domain.com/
go to :
http://calendar.domain.com/view.php?ID=/
In the rewritelog file:
206.181.245.167 - - [04/Dec/2002:15:48:01 +0000]
[calendar.domain.com/sid#80f2a04][rid#813b034/initial] (2) init rewrite
engine with requested uri /
206.181.245.167 - - [04/Dec/2002:15:48:01 +0000]
[calendar.domain.com/sid#80f2a04][rid#813b034/initial] (3) applying pattern
'^(.+)' to uri '/'
206.181.245.167 - - [04/Dec/2002:15:48:01 +0000]
[calendar.domain.com/sid#80f2a04][rid#813b034/initial] (4) RewriteCond:
input='/usr/local/www/sites/penguinleagues.com/htdocs/calendar//'
pattern='!-f' => matched
It doesn't seem to be picking up the directory index (even after I added the
DirectoryIndex line in the vhost, which I don't think was necessary as it
was defined earlier and works fine everywhere else). I noticed that 2nd /
in the last line of the log, and changed the RewriteCond to:
RewriteCond
/usr/local/www/sites/domain.com/htdocs/calendar%{REQUEST_FILENAME} !-f
but the same problem for the DocumentIndex still exists. Do I need to write
another rule specifically to handle DocumentIndex requests, or did I do
something else wrong?
Thanks,
Chad
>> view.php certainly exists. no matter what file I go to in that domain,
it
>> starts looping, even if I just go to http://calendar.domain.com, which
would
>> load up index.php by default. It matches, goes to view.php, then the
>> request on view.php also matches, begin loop.
>I know. What I'm suggesting is to put in a specific RewriteCond that
>excludes view.php (testing on REQUEST_FILENAME or REQUEST_URI). The you
>will be able to test with other files to see whether -f is failing
>entirely.
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org