thank you. i got it working! joy!

i had tried the 'RewriteOptions Inherit' stuff as well, to no avail.

So, all i did to fix this was move my <vhost...> entries from the 'included' 
httpd-vhosts.conf file into the main httpd.conf file (and commented back out 
that 'vhosts' include line). I also had to bring over the 'NameVirtualHost 
*:80' directive, of course - something I didn't catch at first.

That's it. All is working great again. It's possible my main httpd.conf just 
got completely out of whack, but it kinda seems like something else is going on 
with that include file. I assumed it was just an organizational thing, but 
maybe not?

My rewrite rules are once again inside .htaccess files, where they are required 
to be for my host (GoDaddy) - but w/ my home setup, i could do any setup as 
long as i got it working.

So, for other n00bs, if you need virtual hosts (multiple websites), I'd suggest 
appending this to the bottom of your httpd.conf:

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80


Then add at least one of these virtual host entries:

    <VirtualHost *:80>
        ServerName local.songsabout.net
        DocumentRoot "C:\Program Files\Apache Software 
Foundation\Apache2.2\vhosts\songsabout"

            <Directory "C:\Program Files\Apache Software 
Foundation\Apache2.2\vhosts\songsabout">
                Options Indexes FollowSymLinks
                #AllowOverride None
                AllowOverride All
                Order allow,deny
                Allow from all
            </Directory>
    </VirtualHost>


Then put a .htaccess in your '...\songsabout' directory (your root) and put in 
a rule that will definitely match all incoming URLs, then build from there:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$ http://cnn.com/ [R=301,L]




Vincent Bray <[EMAIL PROTECTED]> wrote: On 20/08/07, Peter Smith  wrote:
> At this point, I'll be very happy with any rewriting of any sort - with
> virtual hosts or not - though, I'd eventually like to get it working with
> virtual hosts. Since I've destroyed my config files I'll probably start with
> a brand new Apache install (or at least a new httpd.conf), but here's what
> I've got right now in my httpd.conf in global context:
>
> RewriteEngine on
> RewriteLog c:\temp\rewrite.log
> RewriteLogLevel 7
> RewriteCond %{REQUEST_FILENAME} !-d
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteRule ^(.*)$ http://cnn.com/ [R=301,L]
>
> The  section for document_root is currently in its
> post-install form.
>
> My virtual host entry:
>
>     
>
>           ServerName local.songsabout.net
>           DocumentRoot "C:/Program Files/Apache Software
> Foundation/Apache2.2/vhosts/songsabout"
>
>             
> Foundation/Apache2.2/vhosts/songabout">
>                 Options Indexes FollowSymLinks MultiViews
>                 AllowOverride All
>                 Order allow,deny
>                 Allow from all
>             
>     

That's likely your problem. If you have vhosts, by default mod_rewrite
won't be inherited from the main context. You can fix that by putting:

RewriteEngine On
RewriteOptions Inherit

.. in the vhost, but really you'll be better off putting your rules in
the vhost.

However, if you just want to send 404 requests to an external URL see
ErrorDocument.
 Also, see this page for why matching REQUEST_URI in this context won't work.

http://wiki.apache.org/httpd/RewriteContext


-- 
noodl


       
---------------------------------
Got a little couch potato? 
Check out fun summer activities for kids.

Reply via email to