frshjb373 frshjb373 - 16 days ago 5
Apache Configuration Question

Specific url to work with and without .php using .htaccess

I'm trying to configure a specific url to work with and without

.php
extension.

For example want to access the url below both ways:

example.com/manage.php

example.com/manage


Here's my current .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

# Removes index.php from ExpressionEngine URLs
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/library/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

# Directs all EE web requests through the site index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]
# RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

Answer

You can insert a rewrite rule just below your redirect rule:

RewriteEngine On
RewriteBase /

# Removes index.php from ExpressionEngine URLs
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/library/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

# add .php extension to specific URIs
RewriteRule ^(manage)/?$ $1.php [L,NC]

# Directs all EE web requests through the site index file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]