J’utilise l’hébergement et le domaine addon de godaddy. Je veux faire mon url à court url.
par exemple, mon URL est la suivante: www.example.com/events/landing_event.php?url=text-first
et je veux suivre l’url: www.example.com/events/text-first
pour cela, j’utilise l’URL de réécriture suivante dans le fichier .htaccess
RewriteRule ^ ([a-zA-Z0-9 – /] +) $ events / landing_event.php? Url = $ 1 [L]
RewriteRule ^ ([a-zA-Z0-9 – /] +) / $ events / landing_event.php? Url = $ 1 [L]
mais cette règle de réécriture ne fonctionne pas. alors s’il vous plaît aider comment puis-je faire url courte.
Utilisez cette source après vous être assuré que RewriteEngine Enabled
et On
RewriteEngine On RewriteRule ^events/([^/]*)$ /events/landing_event.php?url=$1 [L]
L’URL d’origine: http://www.example.com/events/landing_event.php?url=text-first
L’URL réécrite: http://www.example.com/events/text-first
Mis à jour avec 500 Erreur de serveur interne
Votre code est garanti pour générer 500 erreur de serveur interne, car il provoque une boucle infinie. La raison est que votre modèle d’URI correspondant est: ^ events / ([^ /] *) $
Qui correspond à vos URL avant et après réécriture. Et une fois qu’il atteint la limite de réécriture interne maximale autorisée, Apache génère 500 erreurs de serveur internes et les expulse.
Changez votre code à ceci
Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^events/([^/]*)$ /events/landing_event.php?url=$1 [L,QSA,NC]
Essayez ce code:
RewriteEngine On RewriteRule ^([^/]*)\.html$ /events/landing_event.php?url=$1 [L]
Ajoutez ceci dans votre fichier .htaccess
Vous pouvez voir qu’il y a plusieurs façons d’atteindre cet objective.
Aussi
RewriteEngine On RewriteRule ^events/([^/]*)\.html$ /events/landing_event.php?url=$1 [L]
ferait le travail. En gros, à quoi ressemble l’ensemble des URL de vos projets?
Comme vous voulez toujours imprimer les parameters? Si oui, aussi le nom parfois ou aussi la valeur?