我目前有一个网站上有这种模式的网址
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/
。
答案 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
您检测/登录并打开所需的页面