Pretty URL causing 403?
Posted: Mon Apr 08, 2013 11:35 pm
Hi Everyone,
I just upgraded an e-commerce site that utilizes Products/Orders/Cart to CMSMS 1.11.5 and the latest modules. The site is also configured to use pretty URLs.
After the upgrade, all of the pages seem to be working well with the exception of the cart. When I test an order, upon hitting "Add to Cart", I get a 403 Forbidden. I also get it if I try to view the Cart page directly. If I try to access the page using index.php?page=cart, I can see it.
Does anyone have any suggestions to resolve this issue?
Here's my sysinfo:
Cms Version: 1.11.5
Installed Modules:
CMSMailer: 5.2.1
CMSPrinting: 1.0.4
FileManager: 1.4.3
MenuManager: 1.8.5
MicroTiny: 1.2.5
ModuleManager: 1.5.5
News: 2.12.12
Search: 1.7.8
ThemeManager: 1.1.8
CGExtensions: 1.32.4
CGEcommerceBase: 1.3.11
CGSimpleSmarty: 1.6.1
Products: 2.18.4
AuthNetAim: 1.4
CGPaymentGatewayBase: 1.1
FrontEndUsers: 1.21.10
SelfRegistration: 1.7.4
Orders: 1.13.3
JQueryTools: 1.2.5
Cart: 1.8.4
CustomContent: 1.8.3
FRShipping: 1.2.3
AuthNetSim: 1.0
NMSTrack: 1.0
Showtime: 3.3
Album: 1.10-beta2
Uploads: 1.14.4
FormBuilder: 0.7.3
FormBrowser: 0.4.2
Promotions: 1.0.16
CGMyOrders: 1.0
Printing: 1.1.2
NMS: 2.4.3
SEOTools2: 1.0.9
PerItemShipping: 1.1.2
Captcha: 0.4.5
FEU_Auth_Basic: 1.0
Statistics: 1.1.3
CGJobMgr: 1.2.8
Config Information:
php_memory_limit: 80M
process_whole_template:
output_compression:
max_upload_size: 20000000
url_rewriting: mod_rewrite
page_extension:
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale:
default_encoding: utf-8
admin_encoding: utf-8
set_names: true
Php Information:
phpversion: 5.3.13
md5_function: On (True)
gd_version: 2
tempnam_function: On (True)
magic_quotes_runtime: Off (False)
E_STRICT: 0
E_DEPRECATED: 0
memory_limit: 80M
max_execution_time: 120
output_buffering: On
safe_mode: Off (False)
file_uploads: On (True)
post_max_size: 20M
upload_max_filesize: 20M
session_save_path: /myserver/htdocs/cgi-bin/tmp (0775)
session_use_cookies: On (True)
xml_function: On (True)
xmlreader_class: On (True)
Server Information:
Server Api: cgi-fcgi
Server Db Type: MySQL (mysql)
Server Db Version: 5.0.91
Server Db Grants: Found a "GRANT ALL" statement that appears to be suitable
--------------------
Here is my htaccess:
# 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 "80M"
#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 prevent 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 /sg/sg
# 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>
<IfModule mod_header.c>
# Disable ETags
Header unset ETag
FileEtag None
</IfModule>
<IfModule mod_deflate.c>
# Compress css, plaintext, xml, gif, and images in transport.
AddOutputFilterByType DEFLATE text/css text/plain text/xml image/gif image/jpeg image/png
</IfModule>
<IfModule mod_expires.c>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
# Set expires tags on various files... so that the browser wont attempt to reload them.
ExpiresActive On
ExpiresDefault "access plus 1 year"
<IfModule mod_header.c>
# Setting cache control to public allows proxy servers to cache the items too.
Header set Cache-Control "public"
</IfModule>
</FilesMatch>
</IfModule>
I just upgraded an e-commerce site that utilizes Products/Orders/Cart to CMSMS 1.11.5 and the latest modules. The site is also configured to use pretty URLs.
After the upgrade, all of the pages seem to be working well with the exception of the cart. When I test an order, upon hitting "Add to Cart", I get a 403 Forbidden. I also get it if I try to view the Cart page directly. If I try to access the page using index.php?page=cart, I can see it.
Does anyone have any suggestions to resolve this issue?
Here's my sysinfo:
Cms Version: 1.11.5
Installed Modules:
CMSMailer: 5.2.1
CMSPrinting: 1.0.4
FileManager: 1.4.3
MenuManager: 1.8.5
MicroTiny: 1.2.5
ModuleManager: 1.5.5
News: 2.12.12
Search: 1.7.8
ThemeManager: 1.1.8
CGExtensions: 1.32.4
CGEcommerceBase: 1.3.11
CGSimpleSmarty: 1.6.1
Products: 2.18.4
AuthNetAim: 1.4
CGPaymentGatewayBase: 1.1
FrontEndUsers: 1.21.10
SelfRegistration: 1.7.4
Orders: 1.13.3
JQueryTools: 1.2.5
Cart: 1.8.4
CustomContent: 1.8.3
FRShipping: 1.2.3
AuthNetSim: 1.0
NMSTrack: 1.0
Showtime: 3.3
Album: 1.10-beta2
Uploads: 1.14.4
FormBuilder: 0.7.3
FormBrowser: 0.4.2
Promotions: 1.0.16
CGMyOrders: 1.0
Printing: 1.1.2
NMS: 2.4.3
SEOTools2: 1.0.9
PerItemShipping: 1.1.2
Captcha: 0.4.5
FEU_Auth_Basic: 1.0
Statistics: 1.1.3
CGJobMgr: 1.2.8
Config Information:
php_memory_limit: 80M
process_whole_template:
output_compression:
max_upload_size: 20000000
url_rewriting: mod_rewrite
page_extension:
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale:
default_encoding: utf-8
admin_encoding: utf-8
set_names: true
Php Information:
phpversion: 5.3.13
md5_function: On (True)
gd_version: 2
tempnam_function: On (True)
magic_quotes_runtime: Off (False)
E_STRICT: 0
E_DEPRECATED: 0
memory_limit: 80M
max_execution_time: 120
output_buffering: On
safe_mode: Off (False)
file_uploads: On (True)
post_max_size: 20M
upload_max_filesize: 20M
session_save_path: /myserver/htdocs/cgi-bin/tmp (0775)
session_use_cookies: On (True)
xml_function: On (True)
xmlreader_class: On (True)
Server Information:
Server Api: cgi-fcgi
Server Db Type: MySQL (mysql)
Server Db Version: 5.0.91
Server Db Grants: Found a "GRANT ALL" statement that appears to be suitable
--------------------
Here is my htaccess:
# 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 "80M"
#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 prevent 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 /sg/sg
# 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>
<IfModule mod_header.c>
# Disable ETags
Header unset ETag
FileEtag None
</IfModule>
<IfModule mod_deflate.c>
# Compress css, plaintext, xml, gif, and images in transport.
AddOutputFilterByType DEFLATE text/css text/plain text/xml image/gif image/jpeg image/png
</IfModule>
<IfModule mod_expires.c>
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$">
# Set expires tags on various files... so that the browser wont attempt to reload them.
ExpiresActive On
ExpiresDefault "access plus 1 year"
<IfModule mod_header.c>
# Setting cache control to public allows proxy servers to cache the items too.
Header set Cache-Control "public"
</IfModule>
</FilesMatch>
</IfModule>