.htaccess  rewrite 伪静态写法 参数传递规则

qq_39711973 2017-08-06 08:05:28
会伪静态的请帮下忙,谢谢!

网址如下:

127.0.0.1/item/item.htm?id=556505&ns=1&abbucket=0#detail
127.0.0.1/item/1/2/3/at.php?ut=76546666
127.0.0.1/item/789/mn.html?q=好日子
......

以上是浏览器请求的地址,实际上在网址中是不存在这个地址的,没有根目录的。要求访问网站的时候把网站的都有地址作为参数传递到1.php中来,像这样效果(?q=127.0.0.1/item/789/mn.html?q=好日子),不用改变浏览器地址(127.0.0.1/item/789/mn.html?q=好日子)只是把网址作为参数传递到1.php文件就行。会的帮帮忙,谢谢。
...全文
344 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongmei85 2017-08-09
  • 打赏
  • 举报
回复
另外1.php,看下接收参数的方法,还有#号锚点部分服务器是接收不到的,它只发给浏览器客户端

if(isset($_GET['q'])){
	echo $_GET['q'];
}
echo '<br/>';
print_r($_SERVER['QUERY_STRING']);
hongmei85 2017-08-09
  • 打赏
  • 举报
回复
实测了啊,看看

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^1.php - [L]
RewriteCond %{QUERY_STRING} ^.+$
RewriteRule ^(.*)$ 1.php?q=%{SERVER_NAME}/$1?%{QUERY_STRING} [L]
RewriteRule ^(.*)$ 1.php?q=%{SERVER_NAME}/$1 [L]
</IfModule>
qq_39711973 2017-08-07
  • 打赏
  • 举报
回复
引用 2 楼 hongmei85 的回复:

RewriteRule ^([^(1\.php)].*)$ 1.php?q=%{SERVER_NAME}$1 [L]
?id=556505&ns=1&abbucket=0#detail 这部份GET不到是空的。
qq_39711973 2017-08-07
  • 打赏
  • 举报
回复
引用 1 楼 hongmei85 的回复:

RewriteCond %{SERVER_NAME} ^127.0.0.1
RewriteRule ^([^(index\.php)]*)$ /index.php?q=127.0.0.1/$1 [L]
?id=556505&ns=1&abbucket=0#detail 这部份GET不到是空的。
qq_39711973 2017-08-07
  • 打赏
  • 举报
回复
?id=556505&ns=1&abbucket=0#detail 这部份GET不到是空的。
hongmei85 2017-08-07
  • 打赏
  • 举报
回复

RewriteRule ^([^(1\.php)].*)$ 1.php?q=%{SERVER_NAME}$1 [L]
hongmei85 2017-08-07
  • 打赏
  • 举报
回复

RewriteCond %{SERVER_NAME} ^127.0.0.1
RewriteRule ^([^(index\.php)]*)$ /index.php?q=127.0.0.1/$1 [L]

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧