• modern

    (@popart)


    I’m hoping somebody with a better understanding of mod_rewrite may be able to help me figure out what is going on with my “Pretty Permalinks”. (I have wordpress installed in a directory “wordpress” instead of root.)

    I’ve followed many different threads trying to fix it. I changed my .htaccess file to:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
    </IfModule>
    # END WordPress

    But, it still wasn’t working. So I tried commenting out the <IfModule lines like so:

    # BEGIN WordPress
    #<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /wordpress/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /wordpress/index.php [L]
    #</IfModule>
    # END WordPress

    And now “Pretty Permalinks” are working on my site. Can anyone explain to me why taking out the <IfModule lines fixed the problem?? I’d just like to understand.

    Thanks.

Viewing 4 replies - 1 through 4 (of 4 total)
  • whooami

    (@whooami)

    it shouldnt make any difference.

    what you commented out just wraps those bits in a check to see if mod_rewrite is available. The wrapping prevents an error, IF it is not.

    If someone, say for instance, tried to use your example on a server that didnt have mod_rewrite available, they would get a 500 error.

    Both Apache 1 and 2 should work with that wrapper, just fine. Why it doesnt for you, I dont know.

    And now “Pretty Permalinks” are working on my site. Can anyone explain to me why taking out the <IfModule lines fixed the problem?? I’d just like to understand.

    That is awful weird. whooami is right, if you didn’t have mod_rewrite and you removed the IfModule lines, it would have resulted in a 500 error.

    What version of Apache, what type of operating system? Where is the .htaccess file at relative to your domains root? ie is it in /wordpress/.htaccess or /.htaccess?

    What does the AskApache RewriteRules Viewer tell you?

    Well to add to the mystery, I’m encountering what looks like the same thing, except mine’s not working. commented out or not.

    I’m positive that mod_rewrite is enabled,
    the askapache rewriterules viewer is just confirming what I thought:
    > Permalink: /%postname%/
    > Writable .htaccess file found
    > mod_rewrite found
    > Not using pathinfo style index permalinks
    > Using mod_rewrite permalinks

    I’ve tried various combinations of the default htaccess file and the following:

    # BEGIN WordPress
    #<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /var/public_html/makeithappen/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /var/public_html/makeithappen/index.php [L]
    #</IfModule>
    
    # END WordPress

    where /var/public_html/makeithappen/ is the wp install.
    any ideas?

    Ah, forgot to mention, the problem is getting a 404 following the permalinks.

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘mod_rewrite htaccess MYSTERY…’ is closed to new replies.