2010-04-13 9 views
0

Je travaille sur un hôte qui bloque l'utilisation de mon fichier .htaccess, donc je ne peux pas changer mes permaliens en l'utilisant. J'ai besoin de comprendre quel code utiliser et où le mettre dans mon fichier httpd.conf pour obtenir le même effet.Besoin d'utiliser httpd.conf au lieu de .htaccess pour réécrire

Le code dans le fichier .htaccess est ci-dessous:

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

Si votre hôte bloque .htaccess, vous n'avez probablement pas accès à httpd.conf ... sinon vous pouvez simplement activer les fichiers .htaccess. Obtenez un nouvel hôte. – blockhead

Répondre

1

Vous devez envelopper ce code dans un répertoire < > directive. Cela dépend de ce que vous avez dans votre fichier http.conf. Voir le Apache docs pour plus d'informations.

Cependant, comme le dit le blockhead; Si votre hôte ne vous permet pas d'utiliser les fichiers .htaccess, vous n'avez virtuellement aucune chance d'être autorisé près du fichier httpd.conf.

+0

Puis-je envelopper le même code ci-dessus dans le ? Je ne sais pas comment cela fonctionne. – Brad

+0

Yup. La directive indique simplement à Apache que tout code qui s'y trouve ne doit être appliqué qu'au répertoire en question (dans ce cas, le répertoire dans lequel vous essayiez de placer le fichier .htaccess). – Mathew

+0

Merci! J'ai placé tout dans le code ci-dessus dans le fichier httpd.conf à l'intérieur des balises juste en dessous des autres choses qui étaient là. Après avoir redémarré Apache ça a marché comme un champion. Il s'agit d'une situation étrange où le .htaccess est bloqué par un pare-feu. J'ai un accès complet au serveur mais pas au pare-feu qui fait les dégâts, donc je dois tout faire à travers le httpd.conf. – Brad

1

Par exemple, si vous souhaitez bloquer l'accès à l'ensemble de votre GoogleBot à travers le serveur (qui peut être composé de centaines d'hôtes virtuels), vous pouvez ajouter à votre fichier httpd.conf:

#setup the root dir 
<Directory /> 
    RewriteEngine On 
    RewriteCond %{HTTP_USER_AGENT} Googlebot 
    RewriteRule .* - [F,L] 
</Directory> 

Cela enverra un HTTP 403 Interdit à quiconque entrera avec Googlebot dans sa chaîne d'agent utilisateur. Et cette condition de réécriture sera appliquée à TOUS les hôtes virtuels, en vertu de l'application de ceci dans le dossier "/".