Php htaccess将任何文件夹重定向到wordpress中带有参数的文件
我想在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 [
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来处理这样的请求,所以这就是我要尝试的。非常感谢。