PDA Status & Rewrite Rules

Rewrite rules play an indispensable role in how our PDA works. That’s why you should implement them correctly in order for our plugin to work properly.

Rewrite Rules:

Our PDA Gold officially supports Apache, IIS (Windows) and NGINX servers at the moment.

While our rewrite rules are inserted automatically for Apache servers, you have to implement these rules manually for IIS (Windows) and NGINX servers.

Sometimes, our plugin won’t be able to detect which server is actually serving your static files. You have to contact your hosting provider to get the actual server and implement the correct rewrite rules accordingly.

WordPress .htaccess and Sample PDA Gold Rewrite Rules 

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# Prevent Direct Access Rewrite Rules
RewriteRule ^private/([a-zA-Z0-9-_.]+)$ index.php?pda_v3_pf=$1&pdav3_rexypo=ymerexy [L]
RewriteRule ^wp-content/uploads(/_pda/.*\.\w+)$ index.php?pda_v3_pf=$1 [QSA,L]
# Prevent Direct Access Rewrite Rules End

# IP Block Rewrite Rules for Folder Protection
RewriteRule ^wp-content/uploads(/(paid-members)/.*\.\w+)$ index.php?pda_v3_pf=$1 [QSA,L]
# IP Block Rewrite Rules for Folder Protection End

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

PDA Status

PDA Status shows whether our plugin is working as expected at a particular time:

    • Our plugin is up and running 
    • Our plugin is working with some limitations
      • Raw URLs option is enabled AND
      • You haven’t blocked access to our “_pda” folder
    • Our plugin isn’t working due to incorrect rewrite rules
      • Raw URLs option is disabled AND
      • Our rewrite rules are not implemented correctly
    • Our plugin isn’t working properly due to incorrect Raw URLs setup
      • Our plugin fails to remove our .htaccess file from the _pda folder
Our “status” helper is by no way perfect. There are cases, especially on Nginx servers, where our rewrite rules are not implemented on a usual config file. As a result, our helper would fail to detect the correct rules.

If you get stuck at the our “Helpers” screen, please follow these simple steps:

  1. Double-check manually if our rewrite rules are inserted correctly
  2. Choose “Raw URLs” option first
  3. Disable the Raw URLs option
    Once, you select that option, you will be redirected to our settings page, where you can disable that Raw URLs option
  4. Protect a file with our PDA Gold and double-check if its file access permission runs correctly

Raw URLs Limitations

Our Raw URLs comes in useful when you’re using WordPress.com or NGINX servers that don’t allow modifying rewrite rules. However, it comes with some limitations:

  • Those who could somehow get the original file URL will be able to access your private files directly
  • Our Robots meta tag and X-Robots-Tag HTTP header to block search indexing will no longer be working

What’s still working:

  • Your File URLs still follow our File Access Permission
  • Robots.txt rules are still in place to stop Google and search engines from crawling your private files

In order to overcome these limitations, you have to block access to our _pda folder.

How to block access to “_pda” folder

Once the Raw URLs option is enabled, you have to block access (all requests) to our private _pda folder for PDA Gold to work thoroughly. There are 2 ways to do so:

  1. Put the following .htaccess rules under wp-content/uploads/_pda folder for Apache and NGINX servers that support .htaccess like Cloudways
    Order deny, allow
    Deny from all

    Once our Raw URLs option is OFF, you should remove the .htaccess file under our _pda folder. Our plugin will do this automatically for Apache servers. In case it somehow fails, you may want to remove it manually.

  2. Implement our rewrite rules for NGINX instead of using Raw URLs in the first place.
Lasted updated on June 16, 2020