[SOLVED] pretty urls mod_rewrite real slow
Posted: Wed Dec 24, 2008 10:07 pm
Since I am working on a new template for my website I thought this is a good moment to go pro and enabling pretty urls by mod-rewrite for my own website. I have done it for multiple clients as well, so this shouldn't be that hard. I thought....
The problem is when I enable mod_rewrite the page loading is going really slow. When disabled the loading is going well.
Enabled
Disabled
The crazy thing is that I have a perfectly running CMSMS with pretty urls running at the same hosting provider (www.pcextreme.nl).
How am I going to be able enjoying nice and clean urls?
----------------------------------------------------------------------------------------------
THINGS THAT MIGHT BE USEFUL
CMS is running in a subdirectory like this http://www.domain.tld/nl/
SYSTEM INFORMATION
PHP Effective Memory Limit (memory_limit): 32M
Maximum Execution Time (max_execution_time): 30
CONFIG FILE
#Show mod_rewrite URLs in the menu? You must enable 'use_hierarchy' for this to work for modules
$config['assume_mod_rewrite'] = true;
#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '.html';
#If you don't use mod_rewrite, then would you like to use the built-in
#pretty url mechanism? This will not work with IIS and the {metadata} tag
#should be in all of your templates before enabling.
$config['internal_pretty_urls'] = false;
#If you're using the internal pretty url mechanism or mod_rewrite, would you like to
#show urls in their hierarchy? (ex. http://www.mysite.com/parent/parent/childpage)
$config['use_hierarchy'] = true;
#If using none of the above options, what should we be using for the query string
#variable? (ex. http://www.mysite.com/index.php?page=somecontent)
$config['query_var'] = 'page';
.HTACCESS
Options +FollowSymLinks
RewriteEngine on
RewriteBase /nl/
# 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]
# 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]
INSTALLED SOFTWARE
CMS Made Simple 1.4.1 "Spring Garden"
Installed Modules
CMSMailer 1.73.14
MenuManager 1.5.1
ModuleManager 1.2.1
News 2.8.2
nuSOAP 1.0.1
Search 1.5.1
ThemeManager 1.0.8
TinyMCE 2.4.5
RSS 1.1
FileManager 0.4.1
Printing 0.2.5
TruetypeText 2.0.2
FormBuilder 0.5.5
Captcha 0.3.1
The problem is when I enable mod_rewrite the page loading is going really slow. When disabled the loading is going well.
Enabled
Disabled
The crazy thing is that I have a perfectly running CMSMS with pretty urls running at the same hosting provider (www.pcextreme.nl).
How am I going to be able enjoying nice and clean urls?
----------------------------------------------------------------------------------------------
THINGS THAT MIGHT BE USEFUL
CMS is running in a subdirectory like this http://www.domain.tld/nl/
SYSTEM INFORMATION
PHP Effective Memory Limit (memory_limit): 32M
Maximum Execution Time (max_execution_time): 30
CONFIG FILE
#Show mod_rewrite URLs in the menu? You must enable 'use_hierarchy' for this to work for modules
$config['assume_mod_rewrite'] = true;
#Extension to use if you're using mod_rewrite for pretty URLs.
$config['page_extension'] = '.html';
#If you don't use mod_rewrite, then would you like to use the built-in
#pretty url mechanism? This will not work with IIS and the {metadata} tag
#should be in all of your templates before enabling.
$config['internal_pretty_urls'] = false;
#If you're using the internal pretty url mechanism or mod_rewrite, would you like to
#show urls in their hierarchy? (ex. http://www.mysite.com/parent/parent/childpage)
$config['use_hierarchy'] = true;
#If using none of the above options, what should we be using for the query string
#variable? (ex. http://www.mysite.com/index.php?page=somecontent)
$config['query_var'] = 'page';
.HTACCESS
Options +FollowSymLinks
RewriteEngine on
RewriteBase /nl/
# 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]
# 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]
INSTALLED SOFTWARE
CMS Made Simple 1.4.1 "Spring Garden"
Installed Modules
CMSMailer 1.73.14
MenuManager 1.5.1
ModuleManager 1.2.1
News 2.8.2
nuSOAP 1.0.1
Search 1.5.1
ThemeManager 1.0.8
TinyMCE 2.4.5
RSS 1.1
FileManager 0.4.1
Printing 0.2.5
TruetypeText 2.0.2
FormBuilder 0.5.5
Captcha 0.3.1