Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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
Wordpress htaccess重定向除基本url之外的所有链接_Wordpress_.htaccess - Fatal编程技术网

Wordpress htaccess重定向除基本url之外的所有链接

Wordpress htaccess重定向除基本url之外的所有链接,wordpress,.htaccess,Wordpress,.htaccess,我想将所有链接从我的网站重定向到子目录,除了主页url 示例: www.example.com应保留www.example.com www.example.com/someurl应重定向到www.example.com/sub/someurl www.example.com/someurl/anothermore应重定向到www.example.com/sub/someurl/anothermore 编辑:我目前正在处理一个子目录,因此当前将其www.example.com/main/someu

我想将所有链接从我的网站重定向到子目录,除了主页url

示例:
www.example.com
应保留
www.example.com


www.example.com/someurl
应重定向到
www.example.com/sub/someurl

www.example.com/someurl/anothermore
应重定向到
www.example.com/sub/someurl/anothermore


编辑:我目前正在处理一个子目录,因此当前将其
www.example.com/main/someurl
重定向到
www.example.com/main/sub/someurl
将所有内容重定向到
/sub
子目录,除根目录外,您可以使用mod_rewrite在文档根目录中的
.htaccess
文件顶部执行以下操作:

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/sub/
RewriteRule !^(index\.php)?$ /sub%{REQUEST_URI} [R,L]
上面说明,如果请求不是
/
(或
/index.php
)并且没有启动
/sub/
RewriteCond
指令),则重定向到
/sub/

编辑:我目前正在处理一个子域,因此当前将其
www.example.com/main/someurl
重定向到
www.example.com/main/sub/someurl

那是一个子目录,不是“子域”。(?)

如果是这种情况,则将这些指令移动到
/main/.htaccess
文件中,并将其更改为:

RewriteCond %{REQUEST_URI} !^/main/(index\.php)?$
RewriteCond %{REQUEST_URI} !^/main/sub/
RewriteRule (.*) /main/sub/$1 [R,L]

请添加您的研究结果-您发现了什么,您尝试了什么?你咨询了哪个网站?你有没有在stackoverflow帖子中找到答案,比如说?类似于
RewriteRule的东西^https://www.example.com(?!*sub)https://www.example.com/sub$1[L,NE,R=301]
-哪个将打开:
https://www.example.com/test/lars/example
进入
https://www.example.com/sub/test/lars/example
@Stender不工作,兄弟。我目前正在处理一个子域,因此当前它的
www.example.com/main/someurl
重定向到
www.example.com/main/sub/someurl
它正在重定向现在,但是
main
写了两次(在
sub
之前和之后):
www.example.com/main/sub/main/someurl
似乎
/main
包含在
{REQUEST\u URI}
中,对不起,是的,我的错,
REQUEST\u URI
服务器变量包含完整的URL路径,因此它确实包含
/main
——我已经修复了第二个示例。这里设置的
RewriteBase
是什么并不重要-它没有被使用。非常感谢@MrWhite,你也可以看看这个:请。