How to find out whether mod_proxy works properly or not?

Once you placed the .htaccess code generated by Post Affilaite Pro to the 'custom location' where the site replication URL points, click the "Check if .htaccess is working for this location" button. 

If you get some error message, then try to remove the "P" parameter from [L, P, QSA] in the .htaccess code. Now try to click the "Check if .htaccess is working for this location" button again. If you do not get any error message, then try to click the test link next to the "Preview for" drop-down menu. 
Let's say it is a link that looks like this:
http://mywebsite.com/johnrambo
while "johnrambo" is the referrarl id of an affiliate.
 
If  you get redirected to an ugly URL like this one:
http://URL_TO_PAP/scripts/page.php?a_aid=johnrambo&a_bid=be6abc4e&a_file=
while the replicated site comes up then it means that mod_proxy is not enabled or is limited by some other module. If mod_proxy worked properly, the URL address would remain the same as the "Preview for" link that you clicked.

MOD_PROXY + SSL
in rare cases there can be an issue with SSL in mod_proxy which can cause that your site replication is not working. 
If you set mod_proxy on your server and you are sure it is configured and running 100% correctly, but you are still getting this error when you check htaccess via "Check if .htaccess is ok at this location" button in site replication banner: 
"Site replication .htaccess is not set up at this location or it is not working correctly. Please make sure that you have mod_rewrite and mod_proxy enabled in your Apache configuration"
the issue is most probably in the SSL in your mod_proxy.
If your Post Affiliate Pro is accessible via httpS, htaccess for your site replication is generated with httpS, so you need to enable SSL in mod_proxy.
 
 

Seeing "Account suspended" screen instead of content

This error is most probably caused by having the ProxyPreserveHost direction enabled in your Virtual hosts.

If you can edit your virtual hosts conf files you can try adding at the beginning of your host configuration a line with:

ProxyPreserveHost Off

In most cases this would however have to be done by your hosting provider support/server admin.

 

414 error URI too long

This error usually means that the replication redirection got into some endless loop, it might be a problem of banner settings or .htaccess

It can also happen if you as a standalone customer want to set the replication to your PAP folder, so to www.yourdomain.com/affiliate_program/affiliateID

 

404 Not Found

There can be many different reasons why you would get this error. One is that the .htaccess code isn't correct and therefore the site replication URL which you are trying to open like http://mywebsite.com/johnrambo doesn't actually exist and the .htaccess doesn't redirect it. Another problem could be server configuration problem where instead of 500 Internal Server Error it is masked as 404 Not Found. So if you are sure that your .htaccess code and the URLs in the configuration of the site replication banner are correct, try to look also at the below section about error 500.

 

500 Internal Server Error

This error can be displayed either if there is something completely wrong in .htaccess so if its syntax is wrong or if something what you require in .htaccess isn't available on your server configuration. For example if you would want to use mod_proxy which the replication normally uses but it isn't allowed on the server it can also return 500 error.

Basically for all these errors you should see a log in your webserver's logs so that should help you and your server admins to investigate. Sometimes 500 errors can be masked as 404 errors and those should still create logs. For example if you are proxying HTTPS website there might be a problem with SSL handshake between the servers which needs to be solved by configuration of your host. Adding something like the following might help, however there might be completely different problems like for example missing proxy modules. You should always check your logs and solve the problems with your server admin.

In your virtual host .conf file you could try to add something like this:

SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off

We needed to add this on LiquidWeb's STORM server for the proxy to work with https websites.