如何:URL重写&同一页面内的HTML链接?

时间:2013-05-08 18:27:08

标签: php html url-rewriting hyperlink

我希望用户点击www.domain.com/how-it-works

的链接

我的网址重写是:

RewriteRule ^how-it-works/?$ index.php?action=about&link=howItWorks [NC]

index.php GETS“action”和“link”参数,然后这就是我迷路的地方......

我目前正在使用以下内容:

require( TEMPLATE_PATH . "/about.php" );

这会加载about.php模板文件,这正是我想要的,但是我在哪里放置“#HIW”的“相同页面链接”? #HIW是about.php模板文件中的一个链接。

3 个答案:

答案 0 :(得分:1)

您网址中的#HIW称为fragment identifier in HTML

假设您正在使用apache,您可以使用(注意最后的NER标志):

RewriteRule ^how-it-works/?$ index.php?action=about#HIV [NC,NE,R]

(我使用了&link=howItWorks,因为我认为#HIV会替换它,如果不是,你可以把它取回来。

http://httpd.apache.org/docs/2.2/rewrite/flags.html#flag_ne

答案 1 :(得分:0)

据我所知,您的URL Rewrite已经包含该链接信息。在这种情况下,您在上面提到的HIW作为最终加载网址为index.php?action=about&link=howItWorks

为什么不在about.php中$_GET['link']并写出该结果的输出?

我的意思是,如果您想从about.php文件中给出答案,您可以获取$_GET[]的链接信息,并从那里提供您想要的结果信息。

答案 2 :(得分:0)

扩展您的重写以允许内部链接:

RewriteRule ^how-it-works/?(#.*)?$ index.php?action=about&link=howItWorks [NC]

请不要我不知道这个注册表是否正常工作我只是快速输入。如果不能正常工作,请尝试一些。

它应该'正常工作':)