如何將我的.htaccess文件中的RewriteBase設置爲REQUEST_URI的第一部分(domain.com/path或domain.com/path/to/file將RewriteBase設置爲/路徑)?htaccess將RewriteBase設置爲請求URI的開頭
2
A
回答
2
不能動態設置RewriteBase
,但你可以通過手,從%{REQUEST_URI}
提取第一路徑和手動添加到絕對 URL路徑的目標。例如:
RewriteBase/
RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteRule ^foo$ /%1/bar.html [L]
這裏,如果該規則是在URL路徑/a/b/c
htaccess的文件,並請求/a/b/c/foo
,該規則將改寫,作爲/a/bar.html
。
或者,如果你有很多的規則,你絕對需要的%
反向引用,你可以在你的htaccess文件的最頂部將它設置爲一個環境變量:
RewriteBase/
RewriteCond %{ENV:first_uri_path} ^$
RewriteCond %{REQUEST_URI} ^/([^/]+)
RewriteRule^- [E=first_uri_path:%1]
# then your rules:
RewriteCond %{HTTP_HOST} www\.(.*)
RewriteRule ^foo$ /%{ENV:first_uri_path}/bar.php?domain=%1 [L]
不知道如何可行這是一個解決方案,這取決於你實際上計劃如何處理「動態RewriteBases」。
+0
不是我真正希望聽到的,但從我的研究來看,似乎沒有更好的方法。謝謝回答! – Cameron
相關問題
- 1. Magento .htaccess文件RewriteBase設置?
- 2. 需要htaccess幫助設置rewritebase
- 3. .htaccess RewriteBase
- 4. 爲WebClient請求設置User-Agent標頭
- 5. 爲Django設置AJAX請求標頭
- 6. 設置請求頭:連接
- 7. 的.htaccess - 如果沒有請求的URI
- 8. 檢查空請求的URI與的.htaccess
- 9. htaccess的問題cleaun向上請求URI
- 10. 將http頭設置爲由瀏覽器生成的請求?
- 11. htaccess重寫規則請求URI問題
- 12. .htaccess在URI中獲取請求
- 13. 如何設置curl的請求標頭?
- 14. 設置鏈接的請求標頭
- 15. 將開發分支設置爲拉取請求的默認值
- 16. 爲跨域文件上傳設置響應頭和請求頭
- 17. .htaccess RewriteBase vs html Base?
- 18. .htaccess RewriteRule - DOCUMENT_ROOT和RewriteBase
- 19. htaccess RewriteBase不工作
- 20. 將IDENTITY設置爲以字母開頭
- 21. htaccess的 - 傳遞請求URI作爲參數
- 22. 提供了無效的請求URI。 URI必須是絕對URI或BaseAddress請求必須設置
- 23. 將參數設置爲HTTP請求
- 24. 如何使用IIS設置請求頭
- 25. AFNetworking請求頭被設置後丟失
- 26. 用jquery設置多個請求頭ajax
- 27. 設置標頭時HTTParty請求失敗
- 28. 在ajax中設置請求標頭
- 29. 在Node.js中設置請求標頭
- 30. YUI 3:設置請求頭與DataSource.IO
是的,我希望它設置爲第一個文件夾。我很難考慮如何更好地說出來。如果您有任何問題可能有助於更好地定義它,我會很樂意回答 – Cameron