Project

General

Profile

UrlRewriting » History » Version 1

Simon, 12/12/2016 09:08 AM

1 1 Simon
h1. UrlRewriting
2
3
4
h2. Pour la version 2.0.x et plus
5
6
Le moteur de réécriture utilise _mod_rewrite_ du server Apache. Les règles sont contenues dans le fichier _/public/.htaccess_.
7
Au besoin (et en fonction de votre configuration) précisez la valeur de RewriteBase. Si votre installation se situe dans un sous-dossier, entrez la valeur _RewriteBase/sous-dossier/public/_.
8
9
10
<pre>
11
12
###############
13
# Set RewriteBase to your folder.
14
# If set to root folder RewriteBase just takes '/public/' value
15
###############
16
17
18
19
20
<IfModule mod_rewrite.c>
21
  Options +FollowSymlinks
22
  RewriteEngine On
23
  RewriteBase /public/
24
 
25
  # if the requested path is a real file or directory, we don't rewrite anything
26
  RewriteCond %{REQUEST_FILENAME} !-f
27
  RewriteCond %{REQUEST_FILENAME} !-d
28
29
  # Match http://localhost/linea21//actualite.html
30
  # Pattern : $_REQUEST['rub']  .html
31
  RewriteRule ^([a-zA-Z0-9-]*)\.html$  index.php?rub=$1 [L]
32
  
33
  # Match http://localhost/linea21//actualite/ou-sarretera-letalement-urbain,5.html
34
  # Pattern : $_REQUEST['rub'] URI_SEPARATOR [NAME , -optional],$_REQUEST['id']  .html
35
  RewriteRule ^([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*),([0-9]*)\.html$  index.php?rub=$1&id=$3 [L]
36
  
37
  # Match http://localhost/linea21//directory/-6-.html
38
  # Pattern : $_REQUEST['rub'] URI_SEPARATOR [ $_REQUEST['debut']] .html
39
  RewriteRule ^([a-zA-Z0-9-]*)/-([0-9]*)-\.html$  index.php?rub=$1&debut=$2 [L]
40
  
41
      # Match http://localhost/linea21//tableau-de-bord/taux-daccroissement-de-la-population,22/1.html
42
  # Pattern : $_REQUEST['rub'] URI_SEPARATOR [NAME , -optional],$_REQUEST['id'] $_REQUEST['parentid']   .html
43
  RewriteRule ^([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*),([0-9]*)/([0-9]*)\.html$  index.php?rub=$1&id=$3&parentid=$4 [L]
44
  
45
  # Match http://localhost/linea21//actualite/ou-sarretera-letalement-urbain,5.html
46
  # Pattern : $_REQUEST['rub'] URI_SEPARATOR [NAME , -optional] $_REQUEST['id'] URI_SEPARATOR $_REQUEST['parentid'] URI_SEPARATOR $_REQUEST['parentparentid'] .html
47
  RewriteRule ^([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*),([0-9]*)/([0-9]*)\.html$  index.php?rub=$1&id=$3&parentid=$4 [L]
48
  
49
  # Match http://localhost/linea21//actualite/ou-sarretera-letalement-urbain,5.html
50
  # Pattern : $_REQUEST['rub'] URI_SEPARATOR [NAME , -optional],$_REQUEST['id'] $_REQUEST['parentid']   .html
51
  RewriteRule ^([a-zA-Z0-9-]*)/([a-zA-Z0-9-]*),([0-9]*)/([0-9]*)/([0-9]*)\.html$  index.php?rub=$1&id=$3&parentid=$4&parentparentid=$5 [L]
52
  
53
 # Match directory/@level/environnement,3.html
54
  # Pattern : $_REQUEST['rub'] URI_SEPARATOR @$_REQUEST['filter'] URI_SEPARATOR NAME , $_REQUEST['id'] .html
55
  RewriteRule ^([a-zA-Z0-9-]*)/@([a-zA-Z]*)/([a-zA-Z0-9-]*),([0-9]*)\.html$  index.php?rub=$1&filter=$2&id=$4 [L]
56
  
57
  # Match directory/@alpha/P.html
58
  # Pattern: $_REQUEST['rub'] URI_SEPARATOR NAME @$_REQUEST['filter'] URI_SEPARATOR $_REQUEST['id'] .html
59
  RewriteRule ^([a-zA-Z0-9-]*)/@([a-zA-Z]*)/([a-zA-Z0-9-]*)\.html$  index.php?rub=$1&filter=$2&id=$3 [L]
60
61
</IfModule>
62
</pre>
63
64
65
Important : Si _mod_rewrite_ n'est pas activé, vous avez la possibilité d'utiliser l'ancien système de réécriture d'URL. Pour cela, renommez le _.htaccess_ en _mod_rewrite.htaccess_. et renommez le fichier _php_rewrite.htaccess_ en _.htaccess_.
66
67
68
h2. Pour les versions antérieures à la 2.0.x
69
70
Dans les versions antérieures à la v2.0.0, Linea21 permettait la réécriture d'URL par déclenchement d'une erreur 404 et d'une gestion par un script PHP (/public/rewrite.php). Contenu du _.htaccess_ :
71
72
<pre>
73
###############
74
# ErrorDocument has to be set to use PHP mod rewrite
75
# If not in use, you can just ignore that instruction
76
###############
77
78
79
80
ErrorDocument 404  /public/rewrite.php
81
</pre>