PHP如何将url路径重定向到index.php

时间:2017-09-22 21:42:47

标签: php .htaccess url redirect

我目前有一个网站上有这种模式的网址

https://website.com/?p=something

其中p是请求的页面(例如/?p = login)

出于搜索引擎优化的原因,我希望网址看起来像这样

https://website.com/login/

当然,我可以像这样进行重定向

Redirect 301 /login/ https://website.com/?p=login

但是它会将用户浏览器中显示的URL更改回带有参数的URL。

我的问题是,我如何拥有这样的https://website.com/login/这样的URL,但是在index.php中的PHP中,我可以像$page = $_GET['p'];一样访问请求页面或“路径”。换句话说,我想将网址https://website.com/login/重定向到https://website.com/?p=login,但网址仍显示为https://website.com/login/

1 个答案:

答案 0 :(得分:1)

我建议使用.htaccess文件将服务器的所有请求指向一个文件,例如index.php

# Rewrite Engine ON
RewriteEngine on

# Redirect everything to one file
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

之后,您可以编写路由器来处理URI组件。

例如有人打电话给sitename / login

您检测/登录并打开所需的页面