html地址栏参数问号传递问题

html地址栏参数问号传递问题,第1张

这个效果的显示是利用了伪静态的技术,可以通过配置web服务器里面的htaccess文件配置不同的伪静态规则,对不同url格式进行不同规则的转换,举个例子:假如你要访问localhost/indexphp文件,这个时候如果你开启了伪静态支持,并且把伪静态的规则也写好了(RewriteRule ^()/indexhtml $1/indexphp),重启web服务器之后,你就可以通过访问localhost/indexhtml来访问indexphp文件,并且你传get参数也是可以获取到的,这样做的好处是SEO优化,利于搜索引擎的抓取。

首先我举例子是APACHE下的,使用htaccess文件形式进行rewrite。
你程序目录放入htaccess,内容如下:
RewriteEngine On
RewriteRule ^(\w+)\html$ $1php [NC,L]
访问的时候
被映射到
被映射到
更多方法在于你自己的尝试和挖掘,不要太依赖于别人的解决方式。

首先要确定你的web服务器用的什么,是iis,apache,还是nginx。从你放在宝塔上的内容来看,你是用的iis,因为你使用的是xml文件内容,但是xml文件不能在这个伪静态控制里面写入。使用的方式是不对的,也就是说你的伪静态文件没有生效,所以打不开。

从别站看到的,你可以试试、、
具体步骤:
1、新建一个记事本,在里面输入以下代码,保存并重命名为:wp-404-handlerphp 
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('indexphp');
>
2、上传wp-404-handlerphp文件至网站根目录下。

3、进入主机控制面板,设置404自定义错误指向wp-404-handlerphp文件。

4、进入WordPress后台管理,设置-固定链接,这时候你就可以随意设置你所喜欢的伪静态格式和后缀了。

IIS配置支持伪静态 ISAPI Rewrite(win2003系统)
第一:首先我们需要下载一个ISAPI_Rewrite,有精简版和完全版,一般精简版只能对服务器全局进行配置,而完整版可以对服务器上的各个网站进行伪静态配置对于个人站长来说,精简版就足够了
下载:>什么环境?iis运行的php?
如果习惯使用Windows系统的朋友遇到确实伪静态规则的情况,可以使用下的规则脚本。自己新建一个记事本,把下面内容复制到记事本,保存为webconfig,然后丢到网站根目录下,且需要检查服务器是否安装IIS URL Rewrite模块,如果没有则还需要去安装。
做wordpress可以去九州数码买个linux主机来搭建会更好!
<xml version="10" encoding="UTF-8"><configuration>
<systemwebServer>
<rewrite>
<rules>
<rule name="category">
<match url="category/()" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="/indexphpcategory_name={R:1}" appendQueryString="false" logRewrittenUrl="false" />
</rule>
<rule name="tags">
<match url="tag/()" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
<action type="Rewrite" url="indexphptag={R:1}" />
</rule>
<rule name="Main Rule" stopProcessing="true">
<match url="" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="indexphp/{R:0}" />
</rule>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="indexphp" />
</rule></rules>
</rewrite>
</systemwebServer>
</configuration>

不是静态页面,因为aspx其实就是微软net平台的一个重要分支aspnet技术编写出的动态页面。这种动态页面一般是由C#(读做C sharp)等语言开发出来的,他比前辈asp要快很多。
注意,aspnet并不是asp的简单升级,他的编程方式与asp极为不同,目前的aspnet多用C#(C sharp)语言编写。想要了解的更多可以百度一下aspnet的资料。
补充:不可能是伪静态,所谓伪静态是将动态页面如php,asp,aspx等伪装成html等静态页面的技术,但如果你在地址栏里输入的是一个动态页面的地址,即使这个动态页面的内容是纯html的静态内容,web服务器也必须对其进行解析,也就是说请求aspx后缀的地址肯定会引起web服务器的解析过程,因此,把html后缀改名为aspx后缀会影响页面的响应速度,故不建议这样做。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12646726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存