Simon Stevens
Simon Stevens

Reputation: 434

Apache mod rewrite .htaccess problem

My site is a php based site, but I've added wordpress in a /blog/ folder. The .htaccess file below should allow the /blog/ folder to be accessed, but I get a 404 error saying that blog.php doesn't exist.

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{SCRIPT_FILENAME}  !\.(gif|jpg|png)$
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)/(.*)/$ /$1_$2.php [L]
    RewriteRule ^(.*)/$ /$1.php [L]
</IfModule>

Anybody able to help at all?

Upvotes: 0

Views: 188

Answers (3)

mkvalsvik
mkvalsvik

Reputation: 21

Adding

RewriteRule ^(blog) - [L]

to public_html/.htaccess after

RewriteEngine On

worked for me as well on a fresh Wordpress installation with Fantastico on a Hostgator account, with a blog.example.com subdomain.

Upvotes: 0

Simon Stevens
Simon Stevens

Reputation: 434

I managed this using the code below, for some reason the conditionals that were suggested don't work (I HATE .htaccess)

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteRule ^(blog) - [L]
    RewriteCond %{SCRIPT_FILENAME}  !\.(gif|jpg|png)$
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)/(.*)/$ /$1_$2.php [L]
    RewriteRule ^(.*)/$ /$1.php [L]
</IfModule>

Upvotes: 0

Aistina
Aistina

Reputation: 12683

The last RewriteRule is redirecting your request to /blog/ to index.php, you should add a RewriteCond to check if the request is on the blog folder.

RewriteCond %{REQUEST_URI} !^/blog/.*

Upvotes: 1

Related Questions