$ _GET URL ReWriting

Chr*_*ris 1 php url mod-rewrite

嘿大家.希望我能正确解释这一点.

我有一些URL,我想通过URL重写来整理.例如,我有:

domain.com/index.php?page=1
domain.com/index.php?page=2
domain.com/index.php?page=3
domain.com/index.php?page=4 etc..
Run Code Online (Sandbox Code Playgroud)

我希望在URL中显示为:

domain.com/page/1
domain.com/page/2
domain.com/page/3
domain.com/page/4 etc..
Run Code Online (Sandbox Code Playgroud)

还有一个简单的问题: - 如果重写URL,是否还会执行$ _GET查询?

非常感谢提前.我启用了模块,并且.htaccess已准备就绪.我只需要一些方向.谢谢!

ide*_*ide 6

将其添加到.htaccess文件中:

RewriteEngine On
RewriteRule ^page/(\d+)/?$ /index.php?page=$1 [L]
Run Code Online (Sandbox Code Playgroud)

GET查询将始终执行.如果用户输入domain.com/index.php?page=3,index.php则会运行.如果他们输入domain.com/page/3,那么mod_rewrite会在将其domain.com/index.php?page=3传递给PHP之前将其转换为.无论哪种方式,index.php运行.

  • 只是一个小旁注 - 我建议在你的RewriteRule的第一部分末尾添加一个`/?`,例如`^ page /(\ d +)/?$`.由于这种结构模仿了类似目录的外观,因此`domain.com/page/3`和`domain.com/page/3 /`应该是有效的并且应该有效. (2认同)