怎样去掉wordpress伪静态链接中的index.php
答案:4 悬赏:40 手机版
解决时间 2021-02-28 22:27
- 提问者网友:聂風
- 2021-02-28 18:43
怎样去掉wordpress伪静态链接中的index.php
最佳答案
- 五星知识达人网友:患得患失的劫
- 2021-02-28 19:09
方法一:
新建一个记事本,在里面写入下面代码保存为txt格式,重新命名为404.php,上传到网站根目录
代码:
$qs = $_SERVER["QUERY_STRING"];
$_SERVER["REQUEST_URI"] = substr($qs, strpos($qs, ‘:80′)+3);
$_SERVER["PATH_INFO"] = $_SERVER["REQUEST_URI"];
include(‘index.php’);
?>
第二步、到你的虚拟主机控制面板,设置404自定义错误指向404.php
就是你买空间那里,一定有他们自己的后台设置,而现在基本都支持设置404错误的,设置好,把404错误指向404.php。这里我要说一下个重点,就是很多空间商的后台设置后不能及时更新,一般需要几分钟或者几小时,只要你设置好了,你就耐心点,等候,不要改来改去。
第三步、进入WordPress管理后台,点击设置,点击固定链接
wordpress后台那里有个固定连接设置或者叫永久链接的,在设置那边。可以看到有5种设置,你可以选择你自己喜欢的方式设置,也可以设置自己自定义的链接样式,设置好后就完成了。
方法二:打开记事本,把下面代码粘贴进去:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
保存时保存类型选择“所有文件”,注意:伪静态注释有中文的,保存编码格式要:ANSI,并输入文件名称:httpd.ini
将这个httpd.ini文件上传到WP程序所在的目录index.php内。
之后进入WP后台修改固定链接,比如:/%category%/%post_id%.html 这样大功告成了。
好了,大家记住这去掉wordpress伪静态链接中的index.php方法了,实在还不懂就只有换主机类型啦!
新建一个记事本,在里面写入下面代码保存为txt格式,重新命名为404.php,上传到网站根目录
代码:
$qs = $_SERVER["QUERY_STRING"];
$_SERVER["REQUEST_URI"] = substr($qs, strpos($qs, ‘:80′)+3);
$_SERVER["PATH_INFO"] = $_SERVER["REQUEST_URI"];
include(‘index.php’);
?>
第二步、到你的虚拟主机控制面板,设置404自定义错误指向404.php
就是你买空间那里,一定有他们自己的后台设置,而现在基本都支持设置404错误的,设置好,把404错误指向404.php。这里我要说一下个重点,就是很多空间商的后台设置后不能及时更新,一般需要几分钟或者几小时,只要你设置好了,你就耐心点,等候,不要改来改去。
第三步、进入WordPress管理后台,点击设置,点击固定链接
wordpress后台那里有个固定连接设置或者叫永久链接的,在设置那边。可以看到有5种设置,你可以选择你自己喜欢的方式设置,也可以设置自己自定义的链接样式,设置好后就完成了。
方法二:打开记事本,把下面代码粘贴进去:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
保存时保存类型选择“所有文件”,注意:伪静态注释有中文的,保存编码格式要:ANSI,并输入文件名称:httpd.ini
将这个httpd.ini文件上传到WP程序所在的目录index.php内。
之后进入WP后台修改固定链接,比如:/%category%/%post_id%.html 这样大功告成了。
好了,大家记住这去掉wordpress伪静态链接中的index.php方法了,实在还不懂就只有换主机类型啦!
全部回答
- 1楼网友:玩家
- 2021-02-28 22:42
您好,很高兴为您解答。
方法一:
新建一个记事本,在里面写入下面代码保存为txt格式,重新命名为404.php,上传到网站根目录
代码:
第二步、到虚拟主机控制面板,设置404自定义错误指向404.php
就是买空间那里,一定有他们自己的后台设置,而现在基本都支持设置404错误的,设置好,把404错误指向404.php。这里我要说一下个重点,就是很多空间商的后台设置后不能及时更新,一般需要几分钟或者几小时。
第三步、进入WordPress管理后台,点击设置,点击固定链接
wordpress后台那里有个固定连接设置或者叫永久链接的,在设置那边。可以看到有5种设置,可以选择自己喜欢的方式设置,也可以设置自己自定义的链接样式,设置好后就完成了。
方法二:打开记事本,把下面代码粘贴进去:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
保存时保存类型选择“所有文件”,注意:伪静态注释有中文的,保存编码格式要:ANSI,并输入文件名称:httpd.ini
将这个httpd.ini文件上传到WP程序所在的目录index.php内。
之后进入WP后台修改固定链接,比如:/%category%/%post_id%.html 这样大功告成了。
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
- 2楼网友:末日狂欢
- 2021-02-28 21:59
您好,很高兴为您解答。
方法一:
新建一个记事本,在里面写入下面代码保存为txt格式,重新命名为404.php,上传到网站根目录
代码:
第二步、到虚拟主机控制面板,设置404自定义错误指向404.php
就是买空间那里,一定有他们自己的后台设置,而现在基本都支持设置404错误的,设置好,把404错误指向404.php。这里我要说一下个重点,就是很多空间商的后台设置后不能及时更新,一般需要几分钟或者几小时。
第三步、进入WordPress管理后台,点击设置,点击固定链接
wordpress后台那里有个固定连接设置或者叫永久链接的,在设置那边。可以看到有5种设置,可以选择自己喜欢的方式设置,也可以设置自己自定义的链接样式,设置好后就完成了。
方法二:打开记事本,把下面代码粘贴进去:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
保存时保存类型选择“所有文件”,注意:伪静态注释有中文的,保存编码格式要:ANSI,并输入文件名称:httpd.ini
将这个httpd.ini文件上传到WP程序所在的目录index.php内。
之后进入WP后台修改固定链接,比如:/%category%/%post_id%.html 这样大功告成了。
如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】
希望我的回答对您有所帮助,望采纳!
- 3楼网友:轮獄道
- 2021-02-28 20:30
1:wordpress开始设置url伪静态方法
后台:设置->固定链接,然后如图设置后保存,此项设置后,发现文章链接都是伪静态了,以为大功告成。但不久后就发现问题。
2:遇到问题显示的结果
1:如果简单的在自定链接后面加上 .html单页面文章显示是正常的
2:如果是文章页有很多分页的话,就会出下下面的情况
3:查找问题所在
看到这种链接,执笔人实在是受不了。于是各种百度谷歌,最后无果。
想到模板分页调用的函数 wp_link_pages,于是从此函数下手,很快有了结果。
原来每生成一个链接都会调用一个钩子 wp_link_pages_link来方便定制,最后所有链接生成完后再调用一个钩子 wp_link_pages来个总链接大定制。
最后锁定了一个函数 redirect_canonical,该函数触发同名钩子
4:wordpress成功实现伪静态方法
最终决定一试。在当前主题的functions.php文件中加入代码:
//设置伪静态开始
//解析url的钩子
add_filter('post_rewrite_rules', 'add_custom_post_rewrite_rules');
function add_custom_post_rewrite_rules($rules) {
$custom_rules = array('(d+)_(d+).html$' => 'index.php?p=$matches[1]&page=$matches[2]',);
$rules = array_merge($custom_rules, $rules);
return $rules;
}
//设置url钩子
add_filter('wp_link_pages_link', 'post_custom_rewrite_url');
function post_custom_rewrite_url($output){
$preg = "/(.*)/(d+).html/(d)/";
$output = preg_replace($preg, "$1/$2_$3.html", $output);
return $output;
}
//不许跳转
add_filter( 'redirect_canonical', 'post_custom_redirect_url');
function post_custom_redirect_url($output){
return false;
}
//设置伪静态结束
5:最后一步大功告成
上面的设置保存后,再返回后台:设置->固定链接,然后不需要设置什么,就点一下“保存更改”即可,这时你浏览发现文章链接都是伪静态了。
以转载于其它博客,测试4.0版本是可以正常使用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯