Php 有没有隐藏URL复杂性的好方法?

Php 有没有隐藏URL复杂性的好方法?,php,twig,Php,Twig,我正在使用PHP和TWIG构建一个网站,我将代码组织为: 类文件夹:用于php类 lib文件夹:用于非类php文件 模板文件夹:用于细枝模板 和index.php文件 例如,当我想要包含注册页面的链接时,该链接将是:domain name/lib/register.php 问题是:有没有什么好方法可以对链接隐藏文件组织 例如,在不更改我的文件组织和保留在url中发送get参数的能力的情况下,使链接类似于:域名/注册 谢谢如果您使用的是apache,您可以将mod_rewrite模块与.htacc

我正在使用PHP和TWIG构建一个网站,我将代码组织为: 类文件夹:用于php类 lib文件夹:用于非类php文件 模板文件夹:用于细枝模板 和index.php文件

例如,当我想要包含注册页面的链接时,该链接将是:domain name/lib/register.php 问题是:有没有什么好方法可以对链接隐藏文件组织 例如,在不更改我的文件组织和保留在url中发送get参数的能力的情况下,使链接类似于:域名/注册


谢谢

如果您使用的是apache,您可以将
mod_rewrite
模块与
.htaccess
文件一起使用


对于其他Web服务器,也存在类似的模块和方法。

下面是我将使用的htaccess文件示例。在“register/”之后输入的文件夹结构被视为转发到register.php的变量。QSA标志将允许您在需要时将其他GET变量视为变量。(例如/寄存器/某物/?某些变量=1)

当您知道要为哪些页面重写多少变量时,这适用于特定情况。换言之,以下仅适用于两个变量/点(例如/registers/var1/var2/)

希望有帮助

############################################
## ENABLE REWRITES
RewriteEngine on
Options +FollowSymLinks

## EXAMPLE WITH 1 VAR
RewriteRule ^register/([A-Za-z0-9-]+)/ lib/register.php?var1=$1 [L,QSA]

## EXAMPLE WITH 2 VAR
RewriteRule ^register/([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/ lib/register.php?var1=$1&var2=$2 [L,QSA]

## ALSO GOOD TO HAVE ERROR DOCS REWRITE
ErrorDocument 404 oops/