PHP如何将url路径重定向到index.PHP
我目前有一个网站的URL与此模式PHP如何将url路径重定向到index.PHP,php,.htaccess,url,redirect,Php,.htaccess,Url,Redirect,我目前有一个网站的URL与此模式 https://website.com/?p=something 其中p是请求的页面(如/?p=login) 出于SEO原因,我希望URL看起来像这样 https://website.com/login/ Redirect 301 /login/ https://website.com/?p=login 当然,我可以这样做重定向 https://website.com/login/ Redirect 301 /login/ https://website
https://website.com/?p=something
其中p是请求的页面(如/?p=login)
出于SEO原因,我希望URL看起来像这样
https://website.com/login/
Redirect 301 /login/ https://website.com/?p=login
当然,我可以这样做重定向
https://website.com/login/
Redirect 301 /login/ https://website.com/?p=login
但它会将用户浏览器中显示的URL更改回包含参数的URL
我的问题是,我怎么能有这样的URL
https://website.com/login/
但是在index.PHP内的PHP中,我可以像前面一样访问请求集页面或“路径”,比如$page=$\u GET['p']代码>。换句话说,我想重定向URLhttps://website.com/login/
至https://website.com/?p=login
但URL仍显示为https://website.com/login/
我建议使用.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
您检测/登录并打开所需页面是否可以对该规则进行例外?例如,对于/sidemap.xml?我试图添加以下条件RewriteCond%{REQUEST_URI}^xml
但它仍在被重定向…上述操作仅适用于没有扩展的路径,因此无需更改它sitename/sitemap.xml将与sitemap/script.php一样工作。