繁体   English   中英

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

[英].htacces redirect only if there is a subfolder

首先我会说明我需要什么:我有一个wordpress的站点,想安装一个laravel的系统。 经过大量研究发现不可能尝试配置.htaccess 以便dos 在同一文件夹中运行,因此将Laravel 安装在子域中。

我在 wordpress 中没有任何仅与子文件夹一起运行的内容(例如: www.dominio.com/folder或 ** www.dominio.com/folder**/ )只是域的根目录(index.php)和在文章中 ( www.domain.com/999/title-title )。

我的意图是将任何带有子文件夹的 url重定向到子域,例如:“www.domain.com/folder”“www.domain.com/folder/” go 到“sub.domain.com.br”

但是,域之后的这个文件夹可以是任何东西(不具体,使用正则表达式)。

我当前的.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]

谢谢

假设您要将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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM