2010-06-17 4 views
1

Je voulais juste que lorsque cela est inséré dans l'URL:URLs avec .htaccess réponse bizarre forment mon hébergement web ... AIDEZ

http://website.com/pelicula/0221889/ 
http://website.com/pelicula/0221889/posters/ 

Il va vraiment cela (en arrière-plan):

http://website.com/index.php?ctrl=pelicula&id=0160399 
http://website.com/index.php?ctrl=pelicula&id=0160399&tab=posters 

alors je mets dans mon fichier .htaccess:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^/([^/]+)/([^/]+)/?([^/]*)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L] 
</IfModule> 

Mais il ne fonctionnait pas dans mon hébergeur j'ai donc demandé de l'aide de leur suppo équipe rt et ce fut leur réponse:

<IfModule mod_rewrite.c> 
RewriteEngine On 
# If subdomain www exists, remove it first 
#RewriteCond %{HTTP_HOST} ^www.([^.]+.[^.]+)$ [NC] 
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

# If requested resource does not exist as a file 
RewriteCond %{REQUEST_FILENAME} !-f 
# and does not end with a period followed by a filetype 
RewriteCond %{REQUEST_URI} !..+$ 
# and does not end with a slash 
RewriteCond %{REQUEST_URI} !/$ 
# then add a trailing slash and redirect 
RewriteRule (.*) $1/ [R=301,L] 
</IfModule> 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

Il est évident que sa ne fonctionne pas comme on le souhaite, donc je veux juste savoir comment résoudre ce problème !!! Je ne sais rien de mod_rewrite et j'ai vraiment besoin de ça pour fonctionner parfaitement ... Je deviens fou je ne sais pas où est le problème .. s'il vous plaît aider!

Répondre

1

Il semble que les gars du support vous ont envoyé le premier code de réécriture d'URL qu'ils ont trouvé dans leur base de connaissances pour servir d'exemple. Et il est normal: pas de service d'hébergement dans le monde peut fournir des services de consultation gratuits :)

Je vous suggère d'essayer de le garder simple:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^([^/]+)/(\d+)/([^/]+)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L] 
    RewriteRule ^([^/]+)/(\d+)/?$   index.php?ctrl=$1&id=$2 [QSA,L] 
    RewriteRule ^([^/]+)/?$    index.php?ctrl=$1 [QSA,L] 
</IfModule> 
+0

Oui, mais cela est très similaire au code qui ne fonctionnait pas en premier lieu ... – Jonathan

+0

Et en passant son ne fonctionne pas ... – Jonathan

+0

Cela fonctionne pour moi. En quoi cela ne fonctionne-t-il pas pour vous? Avez-vous d'autres règles qui peuvent interférer? Avez-vous mod_rewrite disponible? –