2009-08-17 2 views
0

Lorsque j'essaie d'afficher une image à l'aide d'une étiquette d'image, il y a un problème pour afficher l'image. Pour l'instant les images sont en projet/images/logo. La page sur laquelle j'affiche l'image est dans project/projectadmin/file.php.Problème lors de l'affichage de l'image à l'aide de htaccess

Le chemin de l'image est donné ci-dessous http://localhost/project/images/logo/cat_149.jpg. Quand je supprime htaccess, alors aucun problème pour afficher l'image. Aussi quand j'utilise le chemin d'image comme ceci http://localhost/project/projectadmin/images/logo/cat_149.jpg en déplaçant des images à project/projectadmin/images/logo /, aucun problème pour afficher l'image.

Quel est mon problème?

RewriteEngine On 
ReWriteBase /project 
RewriteRule ^(cat|Home|index.htm|)$ index.php [L,NC] 
RewriteRule ^signin/(.*)$ Login.php?a=$1 [L,NC] 
RewriteRule ^create_account/(.*)/(.*)$ createacc.php?v1=$1&v2=$2 [L,NC] 
RewriteRule ^signup/(.*)$ createacc.php?var1=$1&var2=$1&var3=signup [L,NC] 
RewriteRule ^myhope/(.*)$ home.php?var11=$1 [L,NC] 
RewriteRule ^edit_account/(.*)$ edit_account.php?var12=$1 [L,NC] 
RewriteRule ^edit_account_ship_pr edit_account_ship.php [L,NC] 
RewriteRule ^edit_account_b/(.*)$ editacc.php?action=$1 [L,NC] 
+1

Qu'est-ce que dans le fichier htaccess ?? –

Répondre

0

Il est fort probable que votre fichier .htaccess utilise quelque chose comme mod_rewrite pour rewrite_urls. Ensuite, quand vous allez chercher une image, elle réécrit cette URL en quelque chose comme un fichier PHP.

Allez à l'adresse IMG et voyez ce qui se passe. Vous ne verrez probablement pas d'image non plus.

La solution la plus simple consiste probablement à vérifier si le fichier existe. Si oui, ne pas rediriger. Est-ce que, avec:

RewriteCond %{SCRIPT_FILENAME} -f 
RewriteCond %{SCRIPT_FILENAME} -d 

Ainsi, vous htaccess ressemblerait

RewriteEngine On 
ReWriteBase /project 

RewriteCond %{SCRIPT_FILENAME} -f 
RewriteCond %{SCRIPT_FILENAME} -d 

RewriteRule ^(cat|Home|index.htm|)$ index.php [L,NC] 
RewriteRule ^signin/(.*)$ Login.php?a=$1 [L,NC] 
RewriteRule ^create_account/(.*)/(.*)$ createacc.php?v1=$1&v2=$2 [L,NC] 
RewriteRule ^signup/(.*)$ createacc.php?var1=$1&var2=$1&var3=signup [L,NC] 
RewriteRule ^myhope/(.*)$ home.php?var11=$1 [L,NC] 
RewriteRule ^edit_account/(.*)$ edit_account.php?var12=$1 [L,NC] 
RewriteRule ^edit_account_ship_pr edit_account_ship.php [L,NC] 
RewriteRule ^edit_account_b/(.*)$ editacc.php?action=$1 [L,NC] 

Remarque qui vous permettra d'accéder à tous les fichiers .php directement, mais cela ne devrait pas d'importance étant donné que vous n'avez pas avoir une barrière pour arrêter cela en premier lieu.

+0

Oui, je ne peux même pas télécharger l'image. Alors, quelle peut être la solution? Merci Chacha102 – user75472

+0

Merci beaucoup Chacha102! Je suis vraiment désolé d'avoir oublié d'ajouter la ligne RewriteRule^image viewpic.php [L, NC]. En fait, il ne permettait pas d'afficher l'image. Mais je viens à connaître RewriteCond, merci pour cela et désolé encore. – user75472