php页面如何改写伪静态

寻技术 PHP编程 2023年07月12日 118

本文小编为大家详细介绍“php页面如何改写伪静态”,内容详细,步骤清晰,细节处理妥当,希望这篇“php页面如何改写伪静态”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

第一步,开启伪静态

PHP 页面怎么改写伪静态,你需要首先开启伪静态。要开启伪静态,你需要在服务器上配置 .htaccess 文件,通常这个文件位于网站根目录下。如果你使用的是 Apache 服务器,那么在 .htaccess 文件中添加以下代码即可。

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

上面的代码意义是:开启 Rewrite 引擎,当请求的目录或文件不存在时,重写 URL 并将其发送到 index.php。

第二步,重写 URL

通过上面的设置,我们已经开启了伪静态,但是我们需要对 URL 进行重写,使它们更加友好。例如,将如下的 URL:

www.example.com/index.php?id=1

重写为如下:

www.example.com/article/1

这可以通过在 .htaccess 文件中添加以下代码实现。

RewriteRule ^article/(d+)$ index.php?id=$1 [NC,L]

上面的代码意味着,当 URL 符合 /article/(d+)/ 的格式时,实际上我们将其重写为 index.php?id=$1 的形式。其中 $1 代表正则表达式中的 (d+) 匹配的数字。

第三步,优化 URL

除了以上方法,我们还可以优化 URL,使其更加友好。例如,将 URL:

www.example.com/article.php?id=1

优化为:

www.example.com/article/1.html

这可以通过以下代码实现。

RewriteRule ^article/(d+).html$ article.php?id=$1 [NC,L]

上面的代码意思是,当请求的 URL 符合 /article/(d+).html$/ 的格式时,实际上我们将其重写为 article.php?id=$1 的形式。其中,$1 代表正则表达式中 (d+) 匹配的数字。

第四步,防止盗链

当我们的页面被其他网站盗链时,会导致我们的流量和带宽被占用。因此,我们需要对盗链进行限制,防止恶意站点盗链我们的页面。在 Apache 的 .htaccess 文件中,通过添加以下代码来实现:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?example.com [NC]
RewriteRule .(jpg|png|gif|bmp)$ - [NC,F,L]

上述代码的含义是,当 HTTP_REFERER 不为空,且不以 example.com 开头时,对 .jpg、.png、.gif、.bmp 后缀的文件进行拒绝访问。

关闭

用微信“扫一扫”