Apache-Httpd

htaccess 重定向問題

  • June 17, 2019

在我的var/www/html/文件夾中有 2 個 Angular 應用程序。

一種是搜尋,另一種是登錄。只有 2 個文件夾中沒有index.html文件,/var/www/html/每個文件夾都包含一個index.html文件。

我想要做的是當使用者訪問 http://mydomain.de/時 ,使用者將被重定向到文件夾/var/www/html/search/ 同樣在所有其他情況下:例如http://mydomaim.de/notexisting

在“搜尋”頁面中,有一個指向http://login/文件夾的連結/var/www/html/login/

所以當使用者去的時候http://mydomain.de/login,它應該重定向到這個文件夾。

到目前為止我的嘗試:RewriteEngine On

RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_FILENAME) !-d
#RewriteRule login$ /login/index.html$1 [N]
#RewriteRule ^search*/$ /search/index.html$1 [L]

RewriteCond %{REQUEST_URI} !^/search/
RewriteRule (.*) /search/$1

RewriteCond %{REQUEST_URI} !^/login/
RewriteRule (.login*) /login/$1

謝謝你和親切的問候,

PS:當我只使用此搜尋頁面時,登錄頁面無效。

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/search/
RewriteRule (.*) /search/$1

如果您只想/login/從以下內容中排除,這很簡單RewriteRule

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/search/
RewriteCond %{REQUEST_URI} !^/login/
RewriteRule (.*) /search/$1 [R,L]

我添加了 302 重定向的標誌[R,L]並停止處理.htaccess文件中的任何進一步規則。R如果您不希望發生重定向,則可以刪除。

標誌:

引用自:https://unix.stackexchange.com/questions/525513