web-dev-qa-db-fra.com

L'URL génère une / #! / Splash-page

Pour une raison quelconque, mon site génère un Shebang - /#!/splash-page sur l’URL. Par exemple, lorsque je tape www.modernvintage1005.com, le navigateur renvoie www.modernvintage1005.com/#!/splash-page et chaque page suivante est /#!/about, /#!/contact, etc.

Il n'y a absolument rien sur Google à ce sujet. Il existe de nombreuses aides à la réécriture pour éliminer .index.php de la page d'accueil, mais c'est tout.

Comment puis-je le réécrire pour simplement dire domain.com et domain.com/about.html, etc.?

Voici mon . Htaccess fichier si vous avez besoin de le voir.

# Rewrite Rule
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


</IfModule>

# compress text, html, javascript, css, xml:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
AddType image/png .png
</IfModule>

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES CACHING ##
1
user32642

La syntaxe de l'URL "hashbang" ou "Shebang" est un vieux hack conçu pour fournir l'historique du navigateur à AJAX sites et pour aider Google à indexer le contenu chargé via JavaScript. Voir "Qu'est-ce que le Shebang/hashbang (#!) Sur Facebook et les nouvelles URL Twitter?" pour plus d'informations.

Votre thème WordPress, "John Smith", est chargé de la réécriture des URL de cette manière. Pour ce faire, il est possible de charger chaque page à l'aide de JavaScript sans actualisation complète de la page tout en rendant le contenu accessible à les robots de Google . (C’est ce à quoi se réfère le "AJAX" dans le "Thème du portefeuille AJAX".) Cela n’a rien à voir avec votre fichier .htaccess.

Beaucoup de webmasters estiment maintenant que l’utilisation de la syntaxe hashbang est une mauvaise idée pour les raisons sont restées ici - ce n’est pas très évolutif et il existe maintenant de meilleures options. (c'est-à-dire "pushState" , une fonctionnalité HTML5 permettant aux développeurs de modifier l'URL du navigateur sans actualiser la page.)

Vos options sont de:

  • Contactez le développeur de thème et demandez-lui s'il existe une option pour désactiver la fonctionnalité AJAX dans son thème afin de supprimer les URL de hashbang.
  • Contactez le développeur de thème et demandez-lui de modifier le thème pour utiliser pushState au lieu de location.hash. (Reportez-vous à cet article .) Cela vous donnerait des URL sans hashbang, ce qui ressemble à ce que vous voulez.
  • Utilisez un autre thème WordPress.
4
Nick