rewriterule,如何让http重定向到https?
要实现从HTTP到HTTPS的重定向,可以使用以下方法之一:
通过Web服务器进行配置:使用Apache或Nginx等Web服务器,可以修改其配置文件并添加重定向规则,将HTTP请求自动重定向到HTTPS。例如,在Apache中,可以编辑.htaccess文件,并添加以下代码:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
这个代码块利用了重写引擎(RewriteEngine)操作.htaccess文件中的链接,并检查与% {HTTPS}变量是否为“off”,如果是,则使用重定向代码将请求重定向到HTTPS地址。
通过应用程序进行重定向:在应用程序代码中添加以下代码,当检测到HTTP请求时,就重定向到HTTPS页面:
header("Location: https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit();
在这个代码块中,使用header函数指定需要重定向到的目标URL,该URL使用%{HTTP_HOST}变量获取当前主机名和%{REQUEST_URI}变量获取当前请求的URI路径。退出代码确保关闭连接并完成执行。
无论采用哪种方法,实现重定向后,使用同一端口监听HTTP和HTTPS连接即可。建议优先使用首选的Web服务器配置方式,因为它可以实现对全局访问的统一控制,并进行更细粒度的操作管理。
Discuz如何设置伪静态?
1、登陆discuz网站后台,默认后台路径是:域名/admin.php
2、在discuz管理后台,点击上方导航栏的【全局】,进入全局设置
3、在全局设置里,点击左侧导航栏【SEO设置】
4、全部勾选URL静态化内容选项,完成后点击下方【提交】
5、登陆空间控制面板,打开【文件管理器】
6、点击【public_html】,进入空间根目录
7、进入根目录后,下拉至底部。在创建新文件处,输入“.htaccess”并点击创建
8、复制粘贴下面的discuz伪静态规则(注意不要对代码进行修改),完成后点击下方【另存为】
RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1 RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^([a-z]+[a-z0-9_]*)-([a-z0-9_\-]+)\.html$ plugin.php?id=$1:$2&%1
※全选上方代码复制粘贴(如下图)
完成以上内容,您的discuz网站伪静态就设置成功了。
我的域名怎么自动跳转到其他的页面上?
打开域名A自动跳转到域名B,可以采用网站301跳转的方式:1、IIS下直接301设置Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。这个需要服务器直接操作,很多空间商不会给做。2、介于空间管理程序和方法各不相同,例如之后的WEB操作管理 有可能导致301间接失效所以如果不是自己独立服务器 不建议直接操作。条条大路通罗马看下: 3、采用isapi-rewirte组件 的伪静态完全独立,可以直接在原伪静态规则文件httpd.ini 加上301跳转代码 立即生效【详解:利用 ISAPI Rewrite 做301永久重定向】 [ISAPI_Rewrite] CacheClockRate 3600 RepeatLimit 32 RewriteEngine On RewriteCond Host: ^boaer\.com$ RewriteRule (.*) http\://www\.boaer\.com$1 [I,RP]4、注:----URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。 [ISAPI_Rewrite] CacheClockRate 3600 RepeatLimit 32 RewriteEngine On RewriteCond Host: ^boaer\.com$ RewriteRule (.*) http\://www\.boaer\.com$1 [I,RP] 注:----URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。
CI框架怎么去掉隐藏入口文件indexphp?
1.
LoadModule rewrite_module modules/mod_rewrite.so,把该行前的#去掉。
搜索 AllowOverride None(配置文件中有多处),看注释信息,将相关.htaccess的该行信息改为AllowOverride All。
2.在CI的根目录下,即在index.php,system的同级目录下,建立.htaccess,直接建立该文件名的不会成功,可以先建立记事本文件,另存为该名的文件即可。内容如下(CI手册上也有介绍):
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
如果文件不是在www的根目录下,例如我的是:http://localhost/CI/index.php/,第三行需要改写为RewriteRule ^(.*)$ /CI/index.php/$1 [L]。
另外,我的index.php的同级目录下还有js文件夹和css文件夹,这些需要过滤除去,第二行需要改写为:RewriteCond $1 !^(index\.php|images|js|css|robots\.txt)。
3.将CI中配置文件(system/application/config/config.php)中$config['index_page'] = ”index.php”;将$config['index_page'] = ”"; 。
这样就可以了,不过千万记得从启apache。
如上的重定向规则在linux下也可以写成一个.htacess文件。放到网站的根目录。
iis7如何匹配伪静态规则?
关于这个问题,在IIS 7中,可以使用URL重写模块来匹配伪静态规则。以下是一些实现伪静态规则的步骤:
1. 确保已安装URL重写模块:在IIS管理器中找到服务器节点,然后在“模块”窗口中查看是否安装了“URL重写模块”。
2. 创建一个伪静态规则:在网站或应用程序的配置文件中添加一个规则。配置文件的位置通常是位于网站的根目录下的web.config文件。
3. 在规则中定义匹配模式和重写规则:在规则中使用正则表达式来匹配URL,并定义重写规则。例如,以下规则将把所有以".html"结尾的URL重写到一个处理程序或脚本:
```xml
<rule name="Rewrite to HTML handler">
<match url="^(.*)\.html$" />
<action type="Rewrite" url="htmlhandler.aspx?page={R:1}" />
</rule>
```
这个规则将匹配任何以".html"结尾的URL,并将其重写到名为"htmlhandler.aspx"的处理程序,同时传递页面参数。
4. 保存并应用规则:保存web.config文件,并在IIS管理器中应用更改。
请注意,以上只是一个简单的示例,实际的规则可能会根据需求和网站的特定配置而有所不同。还可以使用其他条件和操作来实现更复杂的伪静态规则。
还没有评论,来说两句吧...