Forums » mod_rewrite issue..anyone resolve this?

RSS feed for this topic

Info

  1. I've been researching the "mod_rewrite" issues on this forum and on the internet for a few hours now. I've tried uncommenting RewriteBase in the .htaccess file, changing capital R to lowercase r, triple checking that mod_rewrite is enabled (I know it is), deleting and reuploading all of omeka's files/folders, modifying the file permissions for .htaccess, etc.

    Has anyone solved this problem? I've been at it for a few hours now and I'm stumped.

    I'm working on a LAMP server with PHP 5.2...

    PLEASE HELP!

  2. The usual problem people have is that they're using the wrong RewriteBase, or using one when they shouldn't. The other important thing to remember is that there are two .htaccess files that potentially need a RewriteBase line.

    Can you share an example of what your URL to Omeka looks like, and what your RewriteBase is set to?

  3. The main site is a Wordpress site (currently down for maintenance)

    The URL is: http://www.asburyparklibrary.org

    Omeka is installed at http://www.asburyparklibrary.org/digital

    I'm not too familiar with .htaccess files.

    The one in the root of the Omeka install (in the "digital" folder looks like this:
    ---------------
    # Remember to enable display_errors on development environments only.
    <IfModule mod_php5.c>
    php_value display_errors 1
    php_flag register_globals off
    </IfModule>

    RewriteEngine on

    # If know that mod_rewrite is enabled, but you are still getting mod_rewrite errors,
    # uncomment the line below and replace "/" with your base directory.
    RewriteBase /digital

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^admin/ - [C]
    RewriteRule .* admin/index.php [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule .* index.php

    <FilesMatch "\.(php|ini)$">
    Order Allow,Deny
    Deny from all
    </FilesMatch>

    <Files index.php>
    Allow from all
    </Files>

    # Uncomment the lines below in order to enable caching of some files via Apache (after a finished site has gone live)
    <IfModule mod_expires.c>
    # <FilesMatch "\.(js|ico|gif|jpg|png|css)$">
    # ExpiresActive on
    # ExpiresDefault "access plus 10 day"
    # </FilesMatch>
    </IfModule>
    ---------------

    The .htaccess file in the "digital/install" folder looks like this:

    ---------------
    <Files install.php>
    Allow from all
    </Files>

    <Files mod-rewrite.php>
    Allow from all
    </Files>

    <Files check-mod-rewrite.html>
    Allow from all
    </Files>

    # This allows us to verify that mod_rewrite is enabled
    <IfModule mod_rewrite.c>
    RewriteEngine On

    # If know that mod_rewrite is enabled, but you are still getting mod_rewrite errors,
    # uncomment the line below and replace "/install/" with your install directory.
    RewriteBase /digital/install/

    RewriteRule ^check-mod-rewrite([^/]*)\.html$ mod-rewrite.php?enabled=true [L]
    </IfModule>

    -----------------------------

    Like I said, I'm not too familiar with .htaccess files and how they work. I ran a phpinfo check to make sure mod_rewrite was loaded and it is.

    Any help would be greatly appreciated.

  4. With the kind of URL you have there, where it seems like the URL corresponds with the actual underlying directory structure, you normally don't need to have the RewriteBase at all (it can be commented out with a # at the beginning of the line).

    The thing that I think may be your problem is that there's a possible setting for Apache that will make it ignore .htaccess files entirely. The setting in question is AllowOverride, and is located in your main Apache configuration file (this is usually called httpd.conf, and will usually be located somewhere like /etc/apache/httpd.conf).

    This setting, which will be inside a <Directory> section, should look like this:

    AllowOverride All
  5. Okay...update.

    I contacting our website host about enabling .htaccess and was told that
    ".htaccess files were disabled for your directory (they are disabled by default), but they have been enabled".

    I verified that it is indeed working by creating a .htaccess password protected page here: http://www.asburyparklibrary.org/test .

    Then I deleted all omeka files and reuploaded them again. (I'd played with so many settings in so many files that wanted to be sure I got a clean install.)

    Still get the same mod_rewrite not found.
    http://asburyparklibrary.org/digital

    Is there a way to get past the mod_rewrite check since I know that it IS enabled?

  6. The problem is, a URL like
    http://asburyparklibrary.org/digital/items
    should take you to the installer if mod_rewrite was actually working correctly, because that's what our .htaccess is meant to do (basically redirect everything under your Omeka URL to our index script).

    So, whether or not mod_rewrite is enabled by your host, it's not working correctly for you.

    Hearing that your host has many different Directory settings means you might actually need those RewriteBase settings in the .htaccess files for things to work right.

    In .htaccess, it would be RewriteBase /digital/
    In install/.htaccess, it would be RewriteBase /digital/install/

    Make sure you have both the leading and trailing slashes on both.

    It's also probably worth it to check with your host to make sure that they do really have mod_rewrite enabled for you.

Reply

You must log in to post.