Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php htaccess将任何文件夹重定向到wordpress中带有参数的文件_Php_Wordpress_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php htaccess将任何文件夹重定向到wordpress中带有参数的文件

Php htaccess将任何文件夹重定向到wordpress中带有参数的文件,php,wordpress,apache,.htaccess,mod-rewrite,Php,Wordpress,Apache,.htaccess,Mod Rewrite,我想在htaccess中添加以下重写规则,但我很难理解在wordpress下该如何做 RewriteEngine On RewriteCond %{REQUEST_METHOD} !POST RewriteRule ^(data|cache)($|/) - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/?$ redir.php?redir=$1 [

我想在htaccess中添加以下重写规则,但我很难理解在wordpress下该如何做

RewriteEngine On
RewriteCond %{REQUEST_METHOD} !POST
RewriteRule ^(data|cache)($|/) - [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ redir.php?redir=$1 [L,QSA]
我的目标是让根目录下当前不存在的任何目录重定向到我的文件redir.php,并将不存在的目录的名称作为变量传递。上面的代码可以工作,但现有目录也被传递到redir.php文件

我试图查看Wordpress Codex的重写,但我尝试添加到functions.php的所有内容似乎都没有产生新的结果,或者我没有被发送到redir.php,而是得到了Wordpress 404页面

有什么想法吗??提前谢谢你

我的目标是让根目录下当前不存在的任何目录重定向到我的文件
redir.php

您不能在WordPress(或使用前端控制器模式的任何站点)的
.htaccess
中执行类似操作,因为无法确定什么是“不存在的目录”和有效的WordPress URL,而该URL也不存在于文件系统中

如果您在
.htaccess
中实现了类似的功能,那么您将基本上覆盖WordPress站点(因此您的WordPress URL都无法工作)


要用WordPress实现这一点,您需要完全在WordPress(PHP)中完成。只有当您确定请求没有映射到有效的WordPress URL(即,否则将导致404)时,您才可以将请求转移到您的
redir.php
脚本。(但是
.htaccess
在请求的早期执行,以便能够执行该操作。)

关于的相关问题(以离题形式结束,可能是因为它关注的是感知的解决方案(即
.htaccess
),而不是实际问题:让WordPress对一个可能导致404的请求执行自定义函数):

这完全不是“重定向404s”问题。例如,假设我有一个目录
mydomain.com/thisdirectory
,有人访问了
mydomain.com/thisdirectory/blah
,它应该显示404页面,而不是发送到redir.php。但是,我想我可以编写redir.php来处理这样的请求,所以这就是我要尝试的。非常感谢。