.htaccess .htacces仅在存在子文件夹时重定向

pcrecxhr  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(165)

首先我将说明我需要什么:我有一个wordpress网站,想安装一个laravel系统,经过大量的研究看到不可能尝试配置htaccess,使dos运行在同一个文件夹,所以安装了Laravel在一个子域。
我没有任何东西在WordPress的运行,只有一个子文件夹(例如:www.dominio.com/folderwww.dominio.com/folder**/)仅为域(index.php)的根目录,并且在文章(www.domain.com/999/title-title)中。
我的意图是将
任何带有子文件夹的URL**重定向到子域,例如:“www.domain.com/folder““www.domain.com/folder/“转到“sub.domain.com.br“
不过,这个文件夹的域后可以是任何东西(不具体,使用regex)。
我目前的htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On 
    RewriteCond %{HTTPS} off 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteBase /
    RewriteRule ^index.php$ - [L] 
    RewriteCond %{REQUEST_URI} !(stories) [NC]
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php 
  </IfModule>

我无法定义任何满足这个条件的条件,在阅读其他文章和文档时,我想到的最合乎逻辑的做法是添加这个条件(如下所示),但它不起作用。当然,这个条件或以前的条件不会产生错误的结果......或者它只是没有按照我想要的方式工作。

RewriteCond %{REQUEST_URI}/(.*)$  [NC]
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule  ^(.*)$  https://sub.domain.com [L,R=301]

谢谢

1zmg4dgp

1zmg4dgp1#

假设您要将www.domain.com/folder目录重定向到folder.domain.com子域。
我们可以使用Apache重写规则来完成此操作。

RewriteEngine on
RewriteBase /

RewriteRule ^/folder/(.*)$ http://sub.example.com/$1 [R=301,L]

正如您所说,您将Laravel安装在了一个子目录中,您可以尝试下面的选项,该选项可用于将/folder重定向到folder.domain.com。这将对www.domain.comdomain.com都有效

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule ^/?folder/(.*)$ http://folder.domain.com/$1 [R=301]

相关问题