I am newbie to Joomla and WAMP environiment. I am using WAMP environment:
I want to enable mod_rewrite with Joomla SEF URL but it is not working together.
If I set 'SEF URLs' and 'Add suffix to URLs' as Yes it works.
Result: /index.php/page.html
If I set 'mod_rewrite' and 'Add suffix to URLs' as Yes it doesn't give any error (not sure if it works the way it suppose to or not).
Result: /index.php?option=com_content&view=article&id=3&Itemid=5
If I set 'SEF URLs' and 'mod_rewrite' as Yes than it give me "404 Not Found" error.
Result: Not Found | The requested URL /pagename
was not found on this server
If I set 'SEF URLs' + 'mod_rewrite' + 'Add suffix to URLs' as Yes than it gives me "404 Not Found" error.
Result: Not Found | The requested URL /pagename.html
was not found on this server
I am using the default .htaccess provided by Joomla the code is as follows:
## Can be commented out if causes errors, see notes above. Options +FollowSymLinks # # mod_rewrite in use RewriteEngine On ########## Begin - Rewrite rules to block out some common exploits ## If you experience problems on your site block out the operations listed below ## This attempts to block the most common type of exploit `attempts` to Joomla! # # Block out any script trying to set a mosConfig value through the URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Block out any script that includes a tag in URL RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ index.php [F,L] # ########## End - Rewrite rules to block out some common exploits # Uncomment following line if your webserver's URL # is not directly related to physical file paths. # Update Your Joomla! Directory (just / for root) RewriteBase /abc # /abc is a sub-directory of joomla install in htdocs ########## Begin - Joomla! core SEF Section # RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/index.php RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] RewriteRule (.*) index.php RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] # ########## End - Joomla! core SEF Section
In httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
active (uncommented #
)I am not sure what else I need to do to make it work. I have checked almost all the forums' posts and blogs. However nothing is helping.
I also have PHP_MAILER issue but that is not as important as this is. I appreciate your help. Please let me know if you need more details to solve this problem.
Kind Regards
DM
I found out the answer to my issue: I added the Directory in httpd.conf but AllowOverride was set to None instead of All to allow .htaccess to take effect.
AllowOverride All needs be to there for apache to work with .htaccess. The code would look something like:
<Directory "D:/Apache/htdocs/joomla"> AllowOverride all Options None Order allow,deny Allow from all </Directory>
Along with above change one need to have " RewriteBase / "
(set to on, i.e.uncomment RewriteBase /)