2

I have searching for removing index.php from urls. I did what many web sites say. But I still get 404 error. I think that error would not be showed if I did not use multilanguage web site. I am using Joomla 3.3.3. All the examples are for single language site. But my site has at least two languages.

My home page address is like

http://www.example.com/index.php/en/

When I enable "use mod_rewrite" and change htaccess.txt to .htaccess, yes, index.php goes away.

http://www.example.com/en/

But I see 404 error now.

I also enabled "Remove language code" option in language filter plug-in.

A part of configuration.php

...
public $sef = '1';
public $sef_rewrite = '1';
public $sef_suffix = '0';
public $unicodeslugs = '0';
...

If I type http://www.example.com into the address bar, homepage loads. But if I click on a menu item in order to read an article 404 page shows.

What are your suggestions?

4 Answers 4

3

Firstly, in the Global Configuration, set Use URL rewriting to Yes. This is the option to remove the index.php from the URL.

Once done, simply rename your htaccess file to .htaccess, which you appear to have already done. This will allows the first change mentioned above to be performed.

4
  • I have already done that. Because of language code server sucks I guess.
    – zkanoca
    Aug 19, 2014 at 12:44
  • Have you made sure Use URL rewriting it set to Yes? cause I have done this just now and it works perfectly fine, even with the Remove language code enabled
    – Lodder
    Aug 19, 2014 at 12:46
  • Only homepage opens. If I click on a menu item to read an article I see "NOT FOUND" error.
    – zkanoca
    Aug 19, 2014 at 13:03
  • 1
    check the .htaccess file. Sometimes the server has one there already but it's empty. If so, copy the contents from the htaccess.txt file into the .htaccess file that's already there. Your not found symptoms sound like what happens with the htaccess file from joomla isn't enabled, so that's my first guess.
    – Brian Peat
    Aug 19, 2014 at 14:54
2

In my experience, the .htaccess file should work regardless of multi/single language site settings. The most common reason for 404 errors on any page BUT the homepage is an error in .htaccess. There are two lines you should check:

  1. Try commenting out Options +FollowSymLinks as suggested (by adding a # at the beginning of the line):

    # The line just below this section: 'Options +FollowSymLinks' may cause problems
    # with some server configurations.  It is required for use of mod_rewrite, but may already
    # be set by your server administrator in a way that dissallows changing it in
    # your .htaccess file.  If using it causes your server to error out, comment it out (add # to
    # beginning of line), reload your site in your browser and test your sef url's.  If they work,
    # it has been set by your server administrator and you do not need it set here.
    ##
    
    ## Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks
    
  2. The second line that might cause problems is RewriteBase /

    # Uncomment following line if your webserver's URL
    # is not directly related to physical file paths.
    # Update Your Joomla! Directory (just / for root).
    ##
    
    # RewriteBase /
    

    Try uncommenting this line, and if you installed Joomla in a subdirectory, add that directory after the / (example: RewriteBase /joomladir)

2
  • Options +FollowSymLinks is uncommented and website is not on subdirectory folder.
    – zkanoca
    Aug 20, 2014 at 7:30
  • Have you tried with #Options +FollowSymLinks? Just in case...
    – johanpw
    Aug 20, 2014 at 14:49
0

First, you have done the correct steps to remove the index.php, there is just something wrong so that the sef does not work. This is actually perfectly normal directly after you change to sef links. There are several possible reasons...

  1. You do not have an Apache server or it does not have mod_rewrite enabled and .htaccess does nothing. You probably would have noticed, but included for completeness. And many localhost web development environments (such as WAMPserver) DO default to mod_rewrite being disabled.

  2. You need to rebuild your sef data in the menu manager. Just click rebuild. No idea why it doesn't update automatically.

  3. Your menu module did not update properly due to cache. Clear all caches. This is what I usually run into as the menu is integrated to the template and the template caches extensively. You should also click F5 twice to force the browser to reload everything.

-2

A had a problem very close to this. I Spent couple of hours trying different combinations with htaccess, sef rewrite in joomla and in multilanguage plugin. Solved sipmly: my hosting provider put new security rule in my cpanel, i had to "synchronize" my htaccess file (click one button deep in the panel settings). That's all! Try calling you provider first, don't spend time. Sorry for my English.

1
  • I run my own server
    – zkanoca
    Nov 2, 2015 at 16:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.