当前位置:Gxlcms > PHP教程 > 伪静态规则

伪静态规则

时间:2021-07-01 10:21:17 帮助过:10人阅读

网站服务器是linux系统,运行在阿里云虚拟主机上的,源代码是通过ftp上传修改,网站之前是纯静态的网站,因为需求,自己写了几个php的页面,请问:
1、www.xxxx.com/111.php怎么改成www.xxxx.com/111.html
2、www.xxxx.com/111.php?a=1怎么改成www.xxxx.com/111/1这样的结构或者类似的,反正地址不带?就行
3、www.xxxx.com/111.php?id=1也是改成地址里不带?的结构
伪静态的规则该怎么写啊?


回复讨论(解决方案)

首先你得讲清楚你的规则需求。111.html这里的文件名是固定的?还是任意数字?
原来的静态文件都是什么样的目录结构?
不搞清楚这些,很可能把正常的访问也重定向了。

那个111.php是我打的比方,其实就是想把news.php变成news.html,还有就是news.php?a=1这样的格式变成不带?的格式。

首先你得讲清楚你的规则需求。111.html这里的文件名是固定的?还是任意数字?
原来的静态文件都是什么样的目录结构?
不搞清楚这些,很可能把正常的访问也重定向了。



那个111.php是我打的比方,其实就是想把news.php变成news.html,还有就是news.php?a=1这样的格式变成不带?的格式。

我看你参数名称都不一样,那得一条条写了。
比如
www.xxxx.com/111.php?a=1怎么改成www.xxxx.com/111/1
规则是这样的:
RewriteRule ^111/(.*)$ /111.php?a=$1 [L]

我看你参数名称都不一样,那得一条条写了。
比如
www.xxxx.com/111.php?a=1怎么改成www.xxxx.com/111/1
规则是这样的:
RewriteRule ^111/(.*)$ /111.php?a=$1 [L]



RewriteEngine On
RewriteRule ^news\.html$ news.php
RewriteRule ^news/(.*)$ /news.php?a=$1 [L]
RewriteCond %{HTTP_HOST} !^www.xx网站.com$ [NC]
RewriteRule ^(.*)$ http://www.xx网站.com/$1 [L,R=301]

这是已写的规则,现在url是这样的,www.xx网站.com/news.html,www.xx网站.com/news.html?a=2,我很郁闷,为什么还是不行啊?方便的话可以加您QQ或者微信么?我的QQ:742487438

哪条规则有问题?301那条?

哪条规则有问题?301那条?



301那条没问题,RewriteRule ^news/(.*)$ /news.php?a=$1 [L] 您给我的这条,好像没生效,现在url地址是这样的:www.xx网站.com/news.html?a=2,只是.php变成了.html,但是?还在


哪条规则有问题?301那条?



301那条没问题,RewriteRule ^news/(.*)$ /news.php?a=$1 [L] 您给我的这条,好像没生效,现在url地址是这样的:www.xx网站.com/news.html?a=2,只是.php变成了.html,但是?还在


url重写静态化不是这样用的。
你要访问
www.xx网站.com/news/2
这样的网址

你提问的时候用的网址格式不是很好的么?怎么实际应用又变成参数形式了?



哪条规则有问题?301那条?



301那条没问题,RewriteRule ^news/(.*)$ /news.php?a=$1 [L] 您给我的这条,好像没生效,现在url地址是这样的:www.xx网站.com/news.html?a=2,只是.php变成了.html,但是?还在


url重写静态化不是这样用的。
你要访问
www.xx网站.com/news/2
这样的网址



奥奥,我懂了,真晕,我以为url是自动转换成 www.xx网站.com/news/2 这样的格式,这次明白了,是要自己调用这样的格式啊,太感谢了!

人气教程排行