2011-12-05 6 views
0

J'utilise Joomla 1.7 et en utilisant joomla est construit en htaccess & il fonctionnait totalement bien, mais je ne sais pas pourquoi ça ne fonctionne pas, .. s'il vous plaît aidez-moi dans ce ... je ne peux pas comprendre la solution et problème ..Joomla htaccess ne fonctionne pas

Voici mon code htaccess ...

## 
# @version  $Id: htaccess.txt 21101 2011-04-07 15:47:33Z dextercowley $ 
# @package  Joomla 
# @copyright Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved. 
# @license  GNU General Public License version 2 or later; see LICENSE.txt 
## 

## 
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE! 
# 
# 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 

## 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 base64_encode data within the URL. 
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] 
# Block out any script that includes a <script> tag in URL. 
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%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}) 
# Return 403 Forbidden header and show the content of the root homepage 
RewriteRule .* index.php [F] 
# 
## End - Rewrite rules to block out some common exploits. 

## Begin - Custom redirects 
# 
# If you need to redirect some pages, or set a canonical non-www to 
# www redirect (or vice versa), place that code here. Ensure those 
# redirects use the correct RewriteRule syntax and the [R=301,L] flags. 
# 
## End - Custom redirects 

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

# RewriteBase/

## Begin - Joomla! core SEF Section. 
# 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 
# 
# If the requested path and file is not /index.php and the request 
# has not already been internally rewritten to the index.php script 
RewriteCond %{REQUEST_URI} !^/index\.php 
# and the request is for something within the component folder, 
# or for the site root, or for an extensionless URL, or the 
# requested URL ends with one of the listed extensions 
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC] 
# and the requested path and file doesn't directly match a physical file 
RewriteCond %{REQUEST_FILENAME} !-f 
# and the requested path and file doesn't directly match a physical folder 
RewriteCond %{REQUEST_FILENAME} !-d 
# internally rewrite the request to the index.php script 
RewriteRule .* index.php [L] 
# 
## End - Joomla! core SEF Section. 

Actuellement, mon URL est à venir comme: http://example.com/index.php?option=com_content&view=article&id=68&Itemid=465

mais il devrait venir comme: http://example.com/index.php/about-us

Répondre

2

Mettre le .htaccess en place (s'il vous plaît confirmer l'orthographe - commence par un point) est seulement la moitié de l'équation.

Vous devez aller dans 'Site' -> 'configuration globale' dans la zone/administrator/de votre site web et activer les URLs SEF. Dites en particulier à Joomla d'utiliser mod_rewrite. Si vous faites cela correctement, et que le fichier .htaccess est correctement nommé et en place, vos URL ne contiendront PAS la partie /index.php/. example.com/about-us ou peut-être example.com/about-us.html si vous spécifiez le suffixe .html.

+0

merci pour la réponse .. bien d'abord j'ai vérifié le mot de passe admin et trouvé que quelqu'un/client a changé de mot de passe, c'est pourquoi quand j'essayais de me connecter à zone d'administration, il me montrait 500 erreur de serveur, donc j'ai changé le mot de passe et a également constaté que le client avait désactivé les URL SEF:) ... maintenant, après avoir fait des changements son fonctionnement bien .. Merci pour votre aide. :) –

0

Vous avez dit: Actuellement, mon URL arrive comme: http://example.com/index.php?option=com_content&view=article&id=68&Itemid=465

mais il devrait venir comme: http://example.com/index.php/about-us

Donc cela signifie: vous le type dans le navigateur l'URL: http://example.com/index.php?option=com_content&view=article&id=68&Itemid=465 ou peut-être les liens dans votre page sont comme ceci, n'est-ce pas?

Alors ... il ne s'agit pas des réécritures dans la config WebServer: elles semblent toutes belles, bien écrites et bien documentées. Je suis assez sûr que c'est à propos de votre configuration Joomla. Vous devriez demander au Joomla forum afin que Joomla crée URLs attrayantes. Il n'y a absolument rien à faire avec Apache RewriteRules, sauf si vous tapez réellement http://example.com/index.php/about-us et qu'il y a un problème.

+0

merci pour votre réponse .. J'utilise http://example.com/index.php/about-us dans l'URL mais son ne fonctionne pas, mais quand j'utilise l'URL réelle c'est à dire, http://example.com/ index.php? option = com_content & view = article & id = 68 & Itemid = 465 ça fonctionne gud .. –