J'essaie de modifier ma page Web, que j'utilise actuellement avec QueryStrings pour afficher des pages, et je souhaite que les URL de sites Web soient modifiées pour être "conviviales pour les moteurs de recherche".(récursif) Expression régulière pour le fichier .htaccess
Je suis un débutant dans les expressions régulières et également dans le fichier .htaccess, et je veux changer les URL de
http://someaddress.bla/index.php?lang=en&rootCategory=$rootCaty&leafCategory=$leafCat
à
http://someaddress.bla/en/$rootCat/$sub-category/$sub-category2/.../$leafCat
Catégories sont stockées récursive sur la base de données ainsi, Je dois afficher chaque niveau de catégorie dans l'URL. Mais ce dont j'ai besoin, c'est seulement la dernière catégorie dans l'url. par exemple la catégorie peut être une catégorie racine comme:
http://someaddresss.bla/en/Company
qui est actuellement affiché à partir de l'URL:
http://someaddress.bla/?lang=en&RootCategory=Company
ou il peut être une sous-catégorie comme:
http://someaddress.bla/en/Company/AboutUs
qui est actuellement affiché à partir de l'URL:
http://someaddress.bla/?lang=en&RootCategory=Company&LeafCategory=AboutUs
ou peut être une feuille comme:
http://someaddress.bla/en/Company/AboutUs/Staff/.../Steve
où "Steve" est la feuille dans la récursivité. Cette page est affichée à partir de l'URL:
http://someaddress.bla/?lang=en&RootCategory=Company&LeafCategory=Steve
Je ne pouvais pas écrire l'expression régulière pour gérer cette situation, toute aide sera appréciée. Merci!
Avez-vous considéré mod_rewrite toutes les demandes 404 à un seul fichier PHP et effectuer votre regex dans ce fichier? –
Je n'ai pas compris de quoi vous parlez vraiment avec "mod_rewrite toutes les requêtes 404 à un seul fichier PHP", mais j'ai plusieurs fichiers php, et je peux vérifier si le contenu est manquant ou pas avec php. Je prévois de changer l'expression régulière en "RewriteRule^/? ([^ /] +)/([^ /] +) /? $ SomeFichier.php? Lang = $ 1 & RootCategory = $ 2 RewriteRule ^/? ([^ /] +)/([^ /] +) (/.+)?/([^ /] +) /? $ someFile.php? lang = $ 1 & RootCategory = $ 2 & LeafCategory = $ 4 " où gérer les données dans someFile.php – fsonmezay