2009-10-14 5 views
3

Je suis débutant à l'environnement de Joomla et de WAMP. J'utilise l'environnement WAMP:Problème de mod_rewrite d'Apache avec WAMP - montre l'erreur 404 non trouvée - Joomla 1.5.14 avec l'URL de SEF

  • Win applic 2003 R2 (Std Ed) avec SP2 et toutes les mises à jour récentes
  • Apache 2.2.9
  • PHP 5.2.6
  • Joomla 1.5.14

Je souhaite activer mod_rewrite avec l'URL Joomla SEF mais cela ne fonctionne pas ensemble.

  • Si je définis les 'URL SEF' et 'Ajouter un suffixe aux URL', cela fonctionne.
    Résultat: /index.php/page.html

  • Si je mets « mod_rewrite » et « Ajouter le suffixe aux URL » comme Oui, il ne donne aucune erreur (pas sûr si cela fonctionne comme il suppose ou non).
    Résultat: /index.php?option=com_content&view=article&id=3&Itemid=5

  • Si je mets 'URL SEF' et 'mod_rewrite' comme Oui que ça me donne "404 Not Found" erreur. Résultat: Introuvable | L'URL demandée /pagename n'a pas été trouvée sur ce serveur

  • Si je mets 'URL SEF de + « mod_rewrite » + « Ajouter le suffixe aux URL » comme Oui que cela me donne l'erreur « 404 Not Found ». Résultat: Introuvable | L'URL demandée /pagename.html n'a pas été trouvée sur ce serveur

J'utilise le .htaccess par défaut fourni par Joomla le code est le suivant:

 

## 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 



En httpd.conf J'ai LoadModule rewrite_module modules/mod_rewrite.so activ e (non commenté #)

  • Il a mod_rewrite.so dans le dossier des modules Apache. Je ne suis pas sûr quoi d'autre je dois faire pour le faire fonctionner. J'ai vérifié presque tous les messages et blogs des forums. Cependant rien n'aide.

    J'ai aussi un problème PHP_MAILER mais ce n'est pas aussi important que cela. J'apprécie ton aide. S'il vous plaît laissez-moi savoir si vous avez besoin de plus de détails pour résoudre ce problème.

    Cordialement

    DM

  • +0

    Où est votre installation de Joomla situé? – Gumbo

    +0

    L'installation se trouve dans le sous-répertoire htdocs J'utilise vHost pour que htdocs/sous-répertoire devienne mydomain.com. Faites-moi savoir si vous avez d'autres questions. (Désolé pour un peu de réponse tardive car c'est la première fois pour moi sur stackoverflow et je n'ai pas vu où se trouvait votre question car elle ne s'affichait pas, ou rien d'autre.) –

    +0

    Mon site était en ligne mais en raison de ce problème je devais prendre vers le bas. À l'heure actuelle, j'ai tout gardé comme hôte local. Après avoir résolu le problème, je vais le reprendre pour vivre. –

    Répondre

    8

    Je trouve la réponse à ma question: j'ai ajouté le répertoire dans httpd.conf mais AllowOverride a été fixé à Aucun au lieu de tous les autoriser.htaccess pour prendre effet. AllowOverride Tout doit être là pour qu'apache fonctionne avec .htaccess.

    Le code ressemblerait à quelque chose comme:

     
    <Directory "D:/Apache/htdocs/joomla"> 
        AllowOverride all 
        Options None 
        Order allow,deny 
        Allow from all 
    </Directory> 
    

    Avec changement au-dessus d'un besoin d'avoir "RewriteBase /"
    (SET sur, i.e.uncomment RewriteBase /)