2009-09-08 8 views
1

Je cours Joomla sur IIS. J'ai environ une douzaine de catégories (éditeurs de bulletins financiers) que j'utilise pour organiser environ 40 articles (bulletins financiers). J'utilise le joomla SEO intégré afin de voir l'URL comme ceci:301 redirections avec Joomla sur IIS

http://www.global-autotrading.com/autotraded-newsletters/13-angel-publishing/43-options-trading-pit.html

Les chiffres devant les catégories et les articles sont ennuyeux, et je ne suis pas trop friands de la navigation fournie par un élément de menu Section Layout. En outre, certains bulletins financiers ne fonctionnent pas sous l'égide d'un éditeur, donc je veux une organisation plus flexible. J'ai essayé simplement de construire une hiérarchie de menu (sous le menu des bulletins autotradés) qui a quelques bulletins d'information directement sous l'élément de menu parent, et certains éditeurs avec leurs bulletins d'information comme éléments de menu en dessous d'eux. Cependant, cela causait des liens à casser; cliquant sur un lien me mènerait au mauvais article, et quoi non. Ainsi, il semble que l'utilisation d'une structure de menu codée à la main ne soit pas compatible avec l'utilisation d'une autre vue de mise en page «parallèle» du contenu.

Ainsi, j'ai décidé de me débarrasser de l'idée d'utiliser des catégories pour organiser ce contenu. Je vais créer un article pour chaque catégorie "éditeur". J'ajouterai manuellement des liens aux bulletins d'information de chaque éditeur dans l'article de cet éditeur. Je vais également créer une structure de menu parallèle comme je le décris ci-dessus.

Quoi qu'il en soit, c'est beaucoup d'informations de fond, avec l'espoir que je vais obtenir une confirmation que je ne fais pas quelque chose de fondamentalement vicié.

Le problème est qu'il existe des sites externes qui se lient directement à certaines URL comme ci-dessus. Je ne veux pas que ces liens se cassent (problème classique de SEO, je crois). Je pense que la solution est d'utiliser 301 réoriente à (par exemple) Dévier à partir de:

http://www.global-autotrading.com/autotraded-newsletters/13-angel-publishing/43-options-trading-pit.html

à

http://www.global-autotrading.com/autotraded-newsletters/angel-publishing/options-trading-pit.html 

ou de

http://www.global-autotrading.com/autotraded-newsletters/4-10-percent-per-month/12-10-percent-per-month.html

à

http://www.global-autotrading.com/autotraded-newsletters/10-percent-per-month.html 

Il existe diverses directives pour créer des redirections 301 dans IIS (ex: http://www.webconfs.com/how-to-redirect-a-webpage.php), mais je me demandais si elles sont compatibles avec Joomla, en particulier avec Joomla avec les fonctionnalités SEO activées.

De plus, s'il semble que je fais quelque chose de fondamentalement mauvais, s'il vous plaît laissez-moi savoir :)

Merci!

Répondre

0

Voici la section de réécriture d'un fichier web.config qui fonctionne. La partie la plus délicate est de comprendre que les règles de redirection doivent précéder les règles de référencement dans le web.config

<rewrite> 
    <rewriteMaps> 
    <rewriteMap name="StaticRedirects"> 
     <add key="/old-url-1.html" value="new-url-1.html" /> 
     <add key="/old-url-2.html" value="new-url-2.html" /> 
    </rewriteMap> 
    </rewriteMaps> 
    <rules> 
    <rule name="Security Rule" stopProcessing="true"> 
     <match url="^(.*)$" ignoreCase="false" /> 
     <conditions logicalGrouping="MatchAny"> 
     <add input="{QUERY_STRING}" pattern="mosConfig_[a-zA-Z_]{1,21}(=|\%3D)" ignoreCase="false" /> 
     <add input="{QUERY_STRING}" pattern="base64_encode.*\(.*\)" ignoreCase="false" /> 
     <add input="{QUERY_STRING}" pattern="(\&lt;|%3C).*script.*(\>|%3E)" /> 
     <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" /> 
     <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" /> 
     </conditions> 
     <action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /> 
    </rule> 
    <rule name="Redirect Rule" stopProcessing="false"> 
     <match url=".*" /> 
     <conditions> 
     <add input="{StaticRedirects:{REQUEST_URI}}" pattern="(.+)" /> 
     </conditions> 
     <action type="Redirect" url="{C:1}" appendQueryString="False" redirectType="Permanent" /> 
    </rule> 
    <rule name="SEO Rule"> 
     <match url="(.*)" ignoreCase="false" /> 
     <conditions logicalGrouping="MatchAll"> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" /> 
     <add input="{URL}" negate="true" pattern="^/index.php" ignoreCase="false" /> 
     <add input="{URL}" pattern="(/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$" /> 
     </conditions> 
     <action type="Rewrite" url="index.php" /> 
    </rule> 
    </rules> 
</rewrite> 
0
code

semblable à celui récemment inclus dans la valeur par défaut Joomla installation à partir de la version 1.6.2.

Il est important que toutes les redirections externes soient répertoriées avant toute réécriture interne, sinon le pointeur réécrit sera exposé par inadvertance sur le Web en tant que nouvelle URL.