fr:config:userewrite
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:config:userewrite [2011-08-26 08:53] – orthographe & correct anchor in link 81.53.249.7 | fr:config:userewrite [2022-09-23 16:14] (Version actuelle) – [httpd (OpenBSD)] JeromeP | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | Activez cette option afin d'obtenir | + | Par défaut, DokuWiki ne réécrit pas d'URL, ce qui donne des URL comme celle-ci |
- | | + | |
- | | + | |
+ | Ces URL sont considérées comme laides et ne sont pas bien indexées | ||
- | Vous pouvez utiliser les valeurs suivantes : | + | La solution consiste à activer la réécriture d'URL, qui est désactivée par défaut. |
+ | ===== Instructions en anglais clair ===== | ||
- | ^ userewrite ^ URLs esthétiques((Dans la page d' | + | ==== Étapes ==== |
- | | | + | |
- | | | + | |
- | | | + | |
- | {{: | + | - Allez dans l' |
+ | - Ouvrir les paramètres de configuration | ||
+ | - Changez l' | ||
+ | - En dessous, cochez l'option | ||
+ | - Sauvegarder | ||
+ | - Ensuite, à l'aide d'un ftp ou d'un gestionnaire de fichiers, vous devez accéder à votre dossier /wiki/ que vous avez créé lors de la création de votre wiki. | ||
+ | - À l' | ||
+ | - dans le fichier .htaccess, collez ce qui suit (vous pouvez également décommenter la section dans .htaccess.dist puis la renommer en .htaccess) : | ||
+ | <code apache> | ||
+ | RewriteEngine on | ||
- | ===== Voir aussi ===== | + | RewriteRule ^_media/ |
+ | RewriteRule ^_detail/ | ||
+ | RewriteRule ^_export/ | ||
+ | RewriteRule ^$ doku.php | ||
+ | RewriteCond %{REQUEST_FILENAME} | ||
+ | RewriteCond %{REQUEST_FILENAME} | ||
+ | RewriteRule (.*) doku.php?id=$1 [QSA,L] | ||
+ | RewriteRule ^index.php$ | ||
+ | </ | ||
- | | + | Cela vous donnera un format comme www.myexample.com/ |
- | | + | <code apache> |
- | | + | RewriteBase /dokuwiki |
+ | </ | ||
+ | |||
+ | où /dokuwiki doit être remplacé par le nom réel du dossier que vous utilisez. | ||
+ | |||
+ | |||
+ | ===== Plus de détails pour les connaisseurs techniques ===== | ||
+ | |||
+ | DokuWiki prend en charge deux méthodes de réécriture d'URL, activées via l' | ||
+ | |||
+ | ^ Valeur ^ Info ^ Exemple d'URL ^ | ||
+ | | 0 | Aucune réécriture d'URL n'est utilisée. C'est la valeur par défaut. | %%http:// | ||
+ | | 1 | La réécriture est gérée par le serveur Web. | %%http:// | ||
+ | | 2 | La réécriture est effectuée par DokuWiki. | %%http:// | ||
+ | |||
+ | La réécriture d'URL est désactivée par défaut car elle nécessite une configuration supplémentaire en plus de définir l' | ||
+ | |||
+ | La réécriture d'URL peut être activée à ''? | ||
+ | |||
+ | ====== Option 1 : serveur Web ====== | ||
+ | |||
+ | :!: N' | ||
+ | * Utilisez de belles URL : **.htaccess** | ||
+ | * Utilisez une barre oblique comme séparateur d' | ||
+ | Sinon, les règles de réécriture ne seront pas utiles. | ||
+ | |||
+ | |||
+ | ==== Apache ==== | ||
+ | |||
+ | La réécriture des URL dans Apache se fait via le module **mod_rewrite** de [[http:// | ||
+ | |||
+ | DokuWiki est livré avec un fichier '' | ||
+ | |||
+ | Voici un exemple | ||
+ | <code apache> | ||
+ | RewriteEngine on | ||
+ | |||
+ | RewriteBase /dokuwiki | ||
+ | |||
+ | RewriteRule ^_media/ | ||
+ | RewriteRule ^_detail/ | ||
+ | RewriteRule ^_export/ | ||
+ | RewriteRule ^$ doku.php | ||
+ | RewriteCond %{REQUEST_FILENAME} | ||
+ | RewriteCond %{REQUEST_FILENAME} | ||
+ | RewriteRule (.*) doku.php? | ||
+ | RewriteRule ^index.php$ | ||
+ | </ | ||
+ | |||
+ | Sur la ligne '' | ||
+ | |||
+ | Vous devrez peut-être également renommer le fichier de '' | ||
+ | |||
+ | == Apachectl status broken == | ||
+ | |||
+ | Dokuwiki rewrite rule affect //apachectl status// command and make it return dokuwiki 404 page instead of the server-status page. You can fix that by either putting this in dokuwiki rewrite rules | ||
+ | |||
+ | <code apache> | ||
+ | RewriteCond %{REQUEST_URI} !^/ | ||
+ | </ | ||
+ | |||
+ | or creating an empty server-status file in dokuwiki root folder where doku.php is located. See forum post [[http:// | ||
+ | |||
+ | == 404 not found error == | ||
+ | |||
+ | You may need to do [[https:// | ||
+ | |||
+ | ==== IIS (ou Microsoft Azure Web App) ==== | ||
+ | Activez la réécriture d'URL et insérez l' | ||
+ | <code xml> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <rule name=" | ||
+ | <match url=" | ||
+ | <action type=" | ||
+ | </ | ||
+ | <rule name=" | ||
+ | <match url=" | ||
+ | <action type=" | ||
+ | </ | ||
+ | <rule name=" | ||
+ | <match url=" | ||
+ | <action type=" | ||
+ | </ | ||
+ | <rule name=" | ||
+ | <match url=" | ||
+ | <action type=" | ||
+ | < | ||
+ | <add input=" | ||
+ | <add input=" | ||
+ | </ | ||
+ | </ | ||
+ | <rule name=" | ||
+ | <match url=" | ||
+ | <action type=" | ||
+ | < | ||
+ | <add input=" | ||
+ | <add input=" | ||
+ | </ | ||
+ | </ | ||
+ | <rule name=" | ||
+ | <match url=" | ||
+ | <action type=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | **Si vous utilisez Azure Web App**, placez simplement ces lignes sous les balises < | ||
+ | |||
+ | |||
+ | === IIS 7.0 ou supérieur === | ||
+ | IIS 7.0 et versions ultérieures peuvent être étendus avec le module de réécriture d'URL 2.0 disponible auprès de Microsoft pour [[http:// | ||
+ | |||
+ | Enregistrez les règles Apache ci-dessus dans un fichier .htaccess en supprimant la ligne " | ||
+ | |||
+ | Dans IIS Manager, sélectionnez votre dossier Wiki, et sous IIS, sélectionnez "URL Rewrite" | ||
+ | |||
+ | Dans le volet des actions sur le côté droit, choisissez " | ||
+ | |||
+ | Pour votre fichier de configuration, | ||
+ | |||
+ | Enfin, appuyez sur Appliquer dans le panneau Actions sur le côté droit. | ||
+ | |||
+ | Configurez votre Wiki pour utiliser les règles .htaccess pour la réécriture et vous devriez maintenant voir vos URL réécrites. | ||
+ | |||
+ | ====Nginx ==== | ||
+ | |||
+ | Voir [[http:// | ||
+ | |||
+ | <code nginx> | ||
+ | server { | ||
+ | listen 80; | ||
+ | server_name example.com www.example.com; | ||
+ | |||
+ | #maximum file upload size is 4MB - change accordingly if needed | ||
+ | client_max_body_size 4M; | ||
+ | client_body_buffer_size 128k; | ||
+ | |||
+ | root / | ||
+ | index doku.php; | ||
+ | |||
+ | location / { try_files $uri $uri/ @dokuwiki; } | ||
+ | |||
+ | location @dokuwiki { | ||
+ | rewrite ^/ | ||
+ | rewrite ^/ | ||
+ | rewrite ^/ | ||
+ | rewrite ^/(.*) / | ||
+ | } | ||
+ | |||
+ | location ~ \.php$ { | ||
+ | if (!-f $request_filename) { return 404; } | ||
+ | include fastcgi_params; | ||
+ | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
+ | fastcgi_param REDIRECT_STATUS 200; | ||
+ | fastcgi_pass 127.0.0.1: | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | === Remarques === | ||
+ | |||
+ | Si vous utilisez https, la variable de serveur HTTPS doit être définie pour permettre une liaison correcte dans dokuwiki. Ceci peut être fait | ||
+ | dans la section serveur avec : | ||
+ | <code nginx> | ||
+ | fastcgi_param HTTPS on; | ||
+ | </ | ||
+ | |||
+ | |||
+ | Le mot-clé '' | ||
+ | |||
+ | Si vous copiez-collez ces configurations, | ||
+ | |||
+ | ==== httpd (OpenBSD) ==== | ||
+ | Voir aussi [[https:// | ||
+ | |||
+ | |||
+ | <code autoconf> | ||
+ | server " | ||
+ | listen on egress port 443 | ||
+ | root "/ | ||
+ | directory index doku.php | ||
+ | | ||
+ | # Set according to upload_max_filesize and post_max_size in php.ini | ||
+ | connection max request body 20971520 | ||
+ | |||
+ | location " | ||
+ | | ||
+ | # Block access to non-public dirs | ||
+ | location "/ | ||
+ | location "/ | ||
+ | location "/ | ||
+ | location "/ | ||
+ | location "/ | ||
+ | | ||
+ | # URL rewrite rules | ||
+ | location match "/ | ||
+ | request rewrite "/ | ||
+ | } | ||
+ | | ||
+ | location match "/ | ||
+ | request rewrite "/ | ||
+ | } | ||
+ | | ||
+ | location match "/ | ||
+ | request rewrite "/ | ||
+ | } | ||
+ | |||
+ | location match "/ | ||
+ | request rewrite "/ | ||
+ | } | ||
+ | |||
+ | location match "/ | ||
+ | request rewrite "/ | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ====== Option 2 : DokuWiki ====== | ||
+ | |||
+ | Dans votre fichier conf/ | ||
+ | |||
+ | <code php> | ||
+ | $conf[' | ||
+ | </ | ||
+ | |||
+ | Cette option ne nécessitera aucune configuration de serveur Web. Cependant, il s' | ||
+ | |||
+ | ===== Nettoyer l'ID de session PHP ===== | ||
+ | |||
+ | Malgré l' | ||
+ | |||
+ | Identifiant de session PHP : | ||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | Ce paramètre est l'ID de session PHP et est automatiquement ajouté par PHP. Cela n'a rien à voir avec la réécriture. Pour l' | ||
+ | |||
+ | Cela se fait généralement dans le fichier de configuration php.ini : | ||
+ | |||
+ | <code ini> | ||
+ | session.use_only_cookies=1 | ||
+ | </ | ||
+ | |||
+ | Vous pouvez également essayer : | ||
+ | <code ini> | ||
+ | session.use_trans_sid=0 | ||
+ | </ | ||
+ | |||
+ | ====== Voir aussi ====== | ||
+ | * [[fr: |
fr/config/userewrite.1314341599.txt.gz · Dernière modification : 2011-08-26 08:53 de 81.53.249.7