簡體   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