2011-11-16 2 views
0

Dans mon public_html je dispose d'un fichier de profile.php et quelques liens dans ce format
RewriteRule pour obtenir deux variables?

domain.com/shop/index.php?c=amazon&id=2 

qui mènent à la boutique amazone avec la catégorie id 2

Dans un dossier à l'intérieur public_html, nommé Boutique J'ai index.php qui montre les produits de la catégorie 2.

Cependant, au lieu du lien ci-dessus laid je veux avoir quelque chose dans le format de

domain.com/shop/company/category-id 
e.g. domain.com/shop/amazon/2 

Je ne veux pas avoir profile.php et shop.php dans le même dossier parce que J'ai une autre RewriteRule là-dedans.

Quelle est la RewriteRule que je dois utiliser dans ce cas de deux variables? Merci

Répondre

2

Vous voulez créer un .htaccess fichier dans le répertoire shop qui incluent les éléments suivants:

RewriteEngine On 
RewriteRule ^([^/]+)/(\d+)$ index.php?c=$1&id=$2 
+0

J'ai beaucoup travaillé. Encore une chose cependant. Comment puis-je l'avoir sous la forme de 'company/shop/2' au lieu de' shop/company/2' sans avoir un dossier différent pour chaque entreprise? Est-ce possible ? – EnexoOnoma

+0

Il est normal que shop/index.php devienne shop.php et le mette dans le dossier public_html, mais j'ai cette 'RewriteRule^([a-z0-9] +)? $ Company-profile.php? Cid = $ 1 [NC, L] 'déjà – EnexoOnoma

+0

Oui. Mais vous devez déplacer le fichier '.htaccess' vers la racine au lieu du répertoire' shop' et changer la RewriteRule en 'RewriteRule^([^ /] +)/shop/(\ d +) $/shop/index .php? c = $ 1 & id = $ 2' en supposant que le 'index.php' actuel continuera d'être dans un dossier nommé' shop'. –

1

Cela devrait fonctionner:

RewriteEngine On 

RewriteRule ^([a-zA-Z0-9]+)/([0-9]+)$ index.php?c=$1&id=$2 

Ou vous vous pouvez déplacer le index.php de nouveau dans public_html et nommez-le shop.php, et faire ceci:

RewriteEngine On 

RewriteRule ^shop/([a-zA-Z0-9]+)/([0-9]+)$ shop.php?c=$1&id=$2