Php 基本url重写为从重写url到真实url,反之亦然

Php 基本url重写为从重写url到真实url,反之亦然,php,.htaccess,url,mod-rewrite,url-rewriting,Php,.htaccess,Url,Mod Rewrite,Url Rewriting,我对URL重写是完全陌生的。 我读了几篇文章并举了几个例子,因此我知道: RewriteEngine On RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?p=$1 [L] 我可以将访问者从www.domain.com/Home重定向到www.domain.com/index.php?p=Home 我想了解的是,一旦用户单击主页上指向www.domain.com/index.php的链接,我可以让浏览器的URL栏显示www.domain.com/Biogra

我对URL重写是完全陌生的。 我读了几篇文章并举了几个例子,因此我知道:

RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)/?$ index.php?p=$1 [L]
我可以将访问者从www.domain.com/Home重定向到www.domain.com/index.php?p=Home

我想了解的是,一旦用户单击主页上指向www.domain.com/index.php的链接,我可以让浏览器的URL栏显示www.domain.com/Biography而不是真实的URL吗

这些都可以在.htaccess文件中完成,还是应该在PHP中完成


谢谢

是的,这是可能的。将此代码放在根目录中。htaccess:

RewriteEngine On

RewriteCond %{THE_REQUEST} /index\.php\?p=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ index.php?p=$1 [L,QSA]

@阿努巴瓦现在工作得很好!只有一个问题,我如何为一些我不希望URL被重写的页面设置异常?要添加异常,可以添加
RewriteCond%{REQUEST_URI}^/(第1页|第2页)
任何
重写规则之前的条件
@anubhava感谢您的见解。。。只是为了确保我做得对。因此,我想排除对变量p名称中以“edit”结尾的所有文件的url重写,因此我添加了以下内容作为.htaccess文件的第一条规则:RewriteCond%{REQUEST_URI}/index\.php\?p=(.*edit&)/[NC]-您能确认我理解正确吗?非常感谢你!您想排除哪些完整URL的示例?仅供参考,完整url以http://或https://@anubhava开头,我理解。非常感谢你的好意、慷慨和时间