![](/img/trans.png)
[英]Redirect index.html to root htaccess and non www to www?
[英]htaccess: Redirect, but not if folder-root or index.html (prevent looping)
我正在與htaccess進行斗爭,但發現了一些討論我的情況的頁面-但不完全是,因此我需要幫助。
我的網頁上有一個使用php的登錄系統。 因此,每個.html頁面在交付之前都必須發送到一個php-script,該腳本正在測試用戶是否已登錄,成功轉發到請求的.html頁面,而不是登錄頁面(index.html )。
我有不同的語言文件夾,並將.htaccess放在所有這些文件夾的根目錄中,並且我希望所有文件夾都只有一個.htaccess。
資料夾結構:
/ members-manager / web / $ country / 這里是.htaccess
這是使轉發檢查登錄成功的方法,但是出現了一個循環:
RewriteRule ^(.+)$ members-manager/service/validate-user-login-for-url.php?url=%{REQUEST_URI} [L,QSA]
有小費嗎?
謝謝 !!
-------------更新,更具體地說明問題:-------------
我更好地描述該過程:
網址(例如“ www.domain.com/members-manager/web/en/launch.html”)
=>
.htaccess:->轉發到PHP以驗證登錄
=>
會員經理/服務/驗證用戶登錄-for-url.php?url =%{REQUEST_URI}
=>
PHP:用戶已登錄嗎? 如果是,請:轉發回原始URL(%{REQUEST_URI})
=>
網址(%{REQUEST_URI})
停。
但是:我的.htaccess重寫規則再次匹配,因此循環繼續進行:-(我如何編寫一個條件,在php腳本“來自”之后不再重寫URL?
如果我理解您說的沒錯,那么每個“國家/地區”文件夾中都有.htaccess文件,為避免該循環,您只需在路徑開頭添加/
RewriteRule ^(.+)$ /members-manager/service/validate-user-login-for-url.php?url=%{REQUEST_URI} [L,QSA]
但是,如果僅在根文件夾中放入一個.htaccess文件,然后將此規則添加到該.htaccess文件中,則可能是更好的解決方案
RewriteRule ^members-manager/web/(.+)/(.+)$ members-manager/service/validate-user-login-for-url.php?url=members-manager/web/$1/$2 [L,QSA]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.