Contact forms not working after mod_rewrite

Discuss, ask and suggest about Usability and Accessability with CMS Made Simple
Locked
coryp
Forum Members
Forum Members
Posts: 13
Joined: Thu Jan 20, 2011 6:11 pm
Location: Dublin, CA

Contact forms not working after mod_rewrite

Post by coryp »

Hello,

I'm new to these boards, so please go easy if I'm posting in the wrong thread.
CMS Version 1.9.1 | CMS Mailer 2.0 | FormBuilder 0.6.4
Hosted at iPower | PHP 5.2.12 | MySQL 5.0.45

My site is hosted here and the contact forms were working fine: http://energyfa.ipower.com/ai/
Then I pointed everything here with mod_rewrite: http://accimpress.com/

Everything still running fine EXCEPT the contact forms (one in the footer and one on the contact page). I suspect there might be an exception to the .htaccess file I could write that may solve the issue-- here's what I have written there now:

Code: Select all

RewriteCond %{HTTP_HOST} ^energyfa.ipower.com$ [NC]
RewriteCond %{REQUEST_URI} !^/ai/admin/
RewriteRule ^(.*)$ http://accimpress.com/$1 [R=301,L] 
Is there something else I need to consider?
Any suggestions or help would be much obliged.

Regards,
Cory
RonnyK
Support Guru
Support Guru
Posts: 4962
Joined: Wed Oct 25, 2006 8:29 pm
Location: Raalte, the Netherlands

Re: Contact forms not working after mod_rewrite

Post by RonnyK »

Is there a reason why you dont use the default doc/htaccess.txt in the doc-folder not as the default.

See if that file, copied to the root as .htaccess is solving the issue...

Ronny
coryp
Forum Members
Forum Members
Posts: 13
Joined: Thu Jan 20, 2011 6:11 pm
Location: Dublin, CA

Re: Contact forms not working after mod_rewrite

Post by coryp »

Hi Ronny,

Thanks for your quick reply-- I did some testing by adding code from the doc/htaccess.txt file to my workin .htaccess file in the root, but when I added anything it gave me a 500 Internal Service Error. I realize I never posted the full working .htaccess code in my initial question so here is that:

Code: Select all

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} ^energyfa.ipower.com$ [NC]
RewriteCond %{REQUEST_URI} !^/ai/admin/
RewriteRule ^(.*)$ http://accimpress.com/$1 [R=301,L] 

# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L,NE]
 
# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA,NE]
I may be confused about what I should be adding to this from the doc/htaccess.txt and what I should be uncommenting.
I think we're on the right track, though. Here is the new .htaccess file saved in the root (with my modification to point to the new URL added) that renders everything non-workable:

Code: Select all

# Attempt to override some php settings, these settings may be helpful on some hosts if your
# default configuration does not meet CMS's minimum requirements, and your host
# has given your account appropriate permissions
php_value upload_max_filesize "10M"
php_value session_save_path "tmp/cache"

php_flag magic_quotes_gpc Off
php_flag register_globals Off
php_flag session.use_trans_sid Off

# (this is important, so uncomment if your host permit)
Options -Indexes
ServerSignature Off

Options +FollowSymLinks

# To prevend E_STRICT problems with PHP 5.3+ you can uncomment the following lines
# Note: These settings should only be enabled for production sites!
php_flag display_startup_errors 0
php_flag display_errors 0
php_flag html_errors 0
php_value docref_root 0
php_value docref_ext 0

<IfModule mod_rewrite.c>
RewriteEngine on
#
#Sub-dir e.g: /cmsms
RewriteBase /

RewriteCond %{HTTP_HOST} ^energyfa.ipower.com$ [NC]
RewriteCond %{REQUEST_URI} !^/ai/admin/
RewriteRule ^(.*)$ http://accimpress.com/$1 [R=301,L] 

# 301 Redirect all requests that don't contain a dot or trailing slash to
# include a trailing slash
# but ignore POST requests.
RewriteCond %{REQUEST_URI} !/$
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_METHOD} !POST$
RewriteRule ^(.*) %{REQUEST_URI}/ [R=301,L]

# Rewrites urls in the form of /parent/child/
# but only rewrites if the requested URL is not a file or directory

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]
</IfModule>
Any suggestions to modifying this? Or am I going about this all wrong...

Thanks,
Cory
coryp
Forum Members
Forum Members
Posts: 13
Joined: Thu Jan 20, 2011 6:11 pm
Location: Dublin, CA

Re: Contact forms not working after mod_rewrite

Post by coryp »

I'm rethinking this and want to try and just modify the contact form action itself--- do you know which specific .php file this is?

UPDATE

I just noticed this from the FormBuilder help menu:
Known Issues

* FormBuilder does not yet support pretty URLs, although that shouldn't matter since the user side is pretty simple.
* FileUpload Fields may not work correctly with multipage forms.
Oh well-- I suppose there are other ways around a simple contact form.
coryp
Forum Members
Forum Members
Posts: 13
Joined: Thu Jan 20, 2011 6:11 pm
Location: Dublin, CA

Re: Contact forms not working after mod_rewrite

Post by coryp »

So here is my temporary fix-- I set up Send This File, like so:
http://accimpress.com/upload/
Locked

Return to “[locked] Accessability and Usability”