0

我想example.com/site/about#whoami被重定向到example.com/site/?page=about#whoami使用 mod_rewrite 指令,但我不知道该怎么做

4

1 回答 1

3

注意:#可以传递锚字符,但它对替换 URL 没有影响,除非重定向到存在锚的页面。尽管 Apache 不能将窗口向下滚动到锚点,但在这种情况下浏览器会这样做。这是一些关于重定向锚点的 Apache 信息

你可以尝试这样的事情:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^site/(.*)/?   site?page=$1  [NC,NE,L]

地图

http://example.com/site/anything

http://example.com/site/?page=anything

假定字符串site是固定的。

字符串anything可能包含一个锚点#,它将在替换 URL 中传递。

于 2013-02-22T22:13:50.747 回答