mvlcek Wrote:yurifanboy Wrote:Hey mvlcek,
For some reason when using FANCY URLS with the language variable, these rewrite rules seems to work.
I would recommend adding them to the documentation on your site.
...
Do the rules on my site not work?
Can you tell me, when to use the first set of rules and when the second set?
I believe these two sets of .htaccess rules are something you provided earlier in this thread.
mvlcek Wrote:The default rules provided on your website when using %language%/%parent%/%slug%/ as a permalink structure switch the language code in the URL and the content switches languages on most pages. However, it doesn't work on the index page. Which returns a 404 when you use the language changer function: <a href="<?php echo htmlspecialchars(return_i18n_lang_url('de')); ?>">In deutsch</a>dizarter Wrote:Thanks for the fix, but, switching languages on the index page still doesn't work.
You are probably missing a rule in .htaccess. Try this:
or that:Code:RewriteRule ^/?$ en/ [R,L] # redirect to language of your choice
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(en|de)/(.*?/)?([A-Za-z0-9_-]+)/?$ index.php?id=$3&lang=$1 [QSA,L]
RewriteRule ^(en|de)/?$ index.php?lang=$1 [QSA,L] # handle index page without 'index'
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
Code:RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^/?$ en/ [R,L] # redirect to language of your choice
RewriteRule ^(en|de)/(.*)$ $2?lang=$1 [QSA,DPI] # replace with your languages
RewriteRule ^(.*);(\d+)([^\d/][^/]*)?/?$ $1$3?page=$2 [QSA,DPI] # for use with pagify plugin
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
RewriteRule ^ index.php [L] # for everything else show home page
dizarter Wrote:Now, another question - how to make visiting example.com auto-redirect to example.com/de/index?
See the examples above.
I am using the rules from your site here. http://yuritopia.info/t/en/hello-world/
Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(en|de)/(.*?/)?([A-Za-z0-9_-]+)/?$ index.php?id=$3&lang=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
Code:
RewriteRule ^/?$ en/ [R,L] # redirect to language of your choice
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(en|es)/(.*?/)?([A-Za-z0-9_-]+)/?$ index.php?id=$3&lang=$1 [QSA,L]
RewriteRule ^(en|es)/?$ index.php?lang=$1 [QSA,L] # handle index page without 'index'
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
Todo arde si le aplicas la chispa adecuada.