Yogesh Chauhan's Blog

How to Skip or Exclude a Specific URL or File From .htaccess Rewrite Rule?

in PHP on November 21, 2019

In this blog post, we saw how to remove the file extension from URL.

Now, let's see how to keep extension for some files as some of they might be getting data from _POST methods and sometimes errors can occur while redirecting those pages.

To remove the extension we saw the following code in this blog post.

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index HTTP/
RewriteRule ^(.*)index$ http://your-domain-name.com/$1 [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://your-domain-name.com/$1 [L,R=301]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.+).php HTTP/
RewriteRule ^(.+).php$ http://your-domain-name.com/$1 [L,R=301]
RewriteRule ^([a-z]+)$ /$1.php [L]

The code above will remove all the PHP file extensions from your website URLs. 

Now, let's assume you have one URL named "get-user-data.php" and you want to skip that file from removing the extension. Just add the following line to your htaccess code.

RewriteCond %{REQUEST_URI} !^/get-user-data.php$ 

Just add that line into the code above and change the name and extension according to your file name and extension and you're good to go.

Also, I know I have already discussed this in this blog post, but don't forget to add the following code to your htaccess file OR your server will have problems allowing files without extensions. 

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ /$1.php [L,QSA]

Most Read

#1 Solution to the error “Visual Studio Code can’t be opened because Apple cannot check it for malicious software” #2 How to add Read More Read Less Button using JavaScript? #3 How to check if radio button is checked or not using JavaScript? #4 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #5 PHP Login System using PDO Part 1: Create User Registration Page #6 How to uninstall Cocoapods from the Mac OS?

Recently Posted

#Apr 8 JSON.stringify() in JavaScript #Apr 7 Middleware in NextJS #Jan 17 4 advanced ways to search Colleague #Jan 16 Colleague UI Basics: The Search Area #Jan 16 Colleague UI Basics: The Context Area #Jan 16 Colleague UI Basics: Accessing the user interface
You might also like these
How to Secure Web or Mobile Browsers?MiscellaneousPostgreSQL transactions using the BEGIN, COMMIT, and ROLLBACK statements.PostgresAND, OR and NOT boolean operators in Envision BasicEnvision BasicSQL GROUP BY StatementSQL/MySQLFile System Integrity: How to Keep an Eye on Your Files and Folder Change?MiscellaneousQuery to increment or decrement value in MySQL ignoring negative valuesSQL/MySQL