URLs fix
This commit is contained in:
@@ -7,7 +7,7 @@ server {
|
||||
|
||||
# Serve clean URLs by trying $uri, then $uri.html
|
||||
location / {
|
||||
try_files $uri $uri.html $uri/ =404;
|
||||
try_files $uri $uri.html $uri/ /index.html;
|
||||
}
|
||||
|
||||
# Cache static assets
|
||||
|
||||
@@ -157,10 +157,10 @@ footer a:hover{color:var(--amber)}
|
||||
<nav>
|
||||
<div class="logo"><img src="Logo-09.png" alt="Profice" style="height:44px;display:block"></div>
|
||||
<ul>
|
||||
<li><a href="#systems">Systeme</a></li>
|
||||
<li><a href="#ergebnisse">Ergebnisse</a></li>
|
||||
<li><a href="#feedgine">Feedgine</a></li>
|
||||
<li><a href="#kontakt" class="nav-cta">Gespräch buchen</a></li>
|
||||
<li><a href="/systems">Systeme</a></li>
|
||||
<li><a href="/ergebnisse">Ergebnisse</a></li>
|
||||
<li><a href="/feedgine">Feedgine</a></li>
|
||||
<li><a href="/kontakt" class="nav-cta">Gespräch buchen</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -169,7 +169,7 @@ footer a:hover{color:var(--amber)}
|
||||
<div class="hero-label">AI Systems for Business Growth</div>
|
||||
<h1>Wir bauen keine Websites. Wir bauen <em>Gewinn-Infrastruktur.</em></h1>
|
||||
<p class="hero-sub">Profice entwickelt autonome KI-Systeme, die Marge messbar machen, Werbebudgets an Gewinn koppeln und E-Commerce-Unternehmen unabhängig von Agenturen machen.</p>
|
||||
<a href="#systems" class="cta-btn">Systeme entdecken</a>
|
||||
<a href="/systems" class="cta-btn">Systeme entdecken</a>
|
||||
</section>
|
||||
|
||||
<!-- ─── THESIS TICKER ─── -->
|
||||
@@ -276,14 +276,49 @@ footer a:hover{color:var(--amber)}
|
||||
|
||||
<footer>
|
||||
<span>© 2026 Profice GmbH</span>
|
||||
<span><a href="/impressum.html" target="_blank" rel="noopener">Impressum</a> · <a href="/datenschutz.html" target="_blank" rel="noopener">Datenschutz</a></span>
|
||||
<span><a href="/impressum" target="_blank" rel="noopener">Impressum</a> · <a href="/datenschutz" target="_blank" rel="noopener">Datenschutz</a></span>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// Reveal animations
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(e => { if(e.isIntersecting) e.target.classList.add('visible') });
|
||||
}, { threshold: 0.15 });
|
||||
document.querySelectorAll('.reveal').forEach(el => observer.observe(el));
|
||||
|
||||
// Clean URL navigation
|
||||
const sections = { systems: true, ergebnisse: true, feedgine: true, kontakt: true };
|
||||
|
||||
// On direct load (e.g. profice.ai/feedgine), scroll to matching section
|
||||
(function() {
|
||||
const seg = window.location.pathname.replace(/^\//, '');
|
||||
if (sections[seg]) {
|
||||
const el = document.getElementById(seg);
|
||||
if (el) setTimeout(() => el.scrollIntoView({ behavior: 'smooth' }), 50);
|
||||
}
|
||||
})();
|
||||
|
||||
// Intercept nav/cta link clicks — smooth scroll + pushState
|
||||
document.querySelectorAll('a[href^="/"]').forEach(function(link) {
|
||||
const seg = link.getAttribute('href').replace(/^\//, '');
|
||||
if (sections[seg]) {
|
||||
link.addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
history.pushState(null, '', '/' + seg);
|
||||
document.getElementById(seg).scrollIntoView({ behavior: 'smooth' });
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Update URL as sections scroll into view
|
||||
const urlObserver = new IntersectionObserver(function(entries) {
|
||||
entries.forEach(function(e) {
|
||||
if (e.isIntersecting) {
|
||||
history.replaceState(null, '', sections[e.target.id] ? '/' + e.target.id : '/');
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.4 });
|
||||
document.querySelectorAll('section[id]').forEach(function(s) { urlObserver.observe(s); });
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user