将 /pagename 重定向至 /#pagename

将 /pagename 重定向至 /#pagename

我想使以下 apache-redirect 起作用:

当有人浏览时mydomain.tld/contact,他们应该被重定向到mydomain.tld/#contact

这是因为我建立了一个具有自动滚动功能的单页网站。

这不起作用:

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

谢谢!

答案1

我不太明白你现有的规则,但我相信你想要这样的东西:

RewriteBase /
# Send a request for / (or /#something) to /index.php:
RewriteRule ^$ index.php [L]
# Redirect a request for /something to /#something, assuming it's not a file or directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ #$1 [NE,R=301,L]

相关内容