我剛剛從EE 1升級到EE 2,我正在努力應對一些變化。例如,EE不再在它的url上輸出一個斜線,這使得我的很多鏈接亂七八糟,我依賴於EE生成的url +附加段等構造。考慮到我的網站的大小和設置,查找和編輯我已經完成的所有地方將是一場小小的噩夢。有什麼辦法可以破解EE來恢復舊的行爲嗎?在ExpressionEngine 2中獲取尾部斜線?
回答
這裏有一個.htaccess解決方案,因爲這個問題,我在我的老EE網站中使用。
添加斜線
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
來源:http://devot-ee.com/articles/item/simple-htaccess-for-expressionengine-sites
然而,由於它的存在,默認情況下,EE2,你可能想要做的對面,通過的.htaccess刪除尾部斜槓所以你不必手動添加/刪除/不管。如果你決定,這裏是代碼:
刪除尾隨斜線
RewriteCond %{HTTP_HOST} !^\.yoursite\.com$ [NC]
RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L]
來源:http://ee-spotlight.com/tips/a_standard_htaccess_file_with_expressionengine
問題不在於URL的末尾,不幸的是,當我最終在URL中丟失了尾部的斜線時。我在之前的評論中發佈了一個例子,我希望說明我的意思。 .htaccess解決方案聽起來很不錯,可以將URL的末尾標準化爲無或不帶尾部的斜線,但似乎並不能解決URL中缺少的斜槓。 –
對於提到可能會導致某些形式的衝突,一些尾隨斜線加法。添加以下內容來檢查請求是否爲GET可能更安全。
# Add a trailing slash to paths without an extension
RewriteCond %{THE_REQUEST} ^GET
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule ^(.*)$ $1/ [L,R=301]
我終於有時間來測試這個,我對這個實際工作有些迷惑。將它添加到我的.htaccess中,如果我點擊我的某個頁面上的鏈接,新頁面仍然會加載而沒有結尾斜槓。 –
- 1. URL中的尾部斜線
- 2. Rails:Rack Rewrite:尾部斜線/尾部斜線>新URL
- 3. 如何允許.php,尾部斜線和尾部斜線?
- 4. Django - 重定向從尾部斜線到非尾部斜線
- 5. Flask路線中的尾部斜線
- 6. 刪除尾部斜線
- 7. 尾部斜線:是或否?
- 8. 添加尾部斜線mod_rewrite
- 9. 尾部斜線問題
- 10. 刪除尾部的斜線
- 11. 使用ng-2 ui-router-2處理斜角4中的尾部斜線
- 12. 如何從root_path獲取尾部斜槓?
- 13. 處理htaccess中的尾部斜線
- 14. 從網址中刪除尾部斜線
- 15. 301重定向中的尾部斜線
- 16. Aurelia JS在URL上的尾部斜線
- 17. 路線默認的尾部斜線?
- 18. 如何獲得附加到頁面路線的尾部斜線?
- 19. Yii2 URL中的尾部斜線正在破壞路線
- 20. firefox重定向尾部斜線
- 21. 的.htaccess重寫部隊尾隨斜線
- 22. .htaccess 301重定向尾部斜線
- 23. Django如何添加尾部斜線
- 24. Apache .htaccess刪除尾部斜線
- 25. 如何去除多個尾部斜線?
- 26. $ document_root上的nginx和尾部斜線?
- 27. 笨:尾隨斜線
- 28. Sammy.js尾隨斜線
- 29. 如何刪除尾部斜線?
- 30. 如何在URl中爲2個或更多目錄添加尾部斜線?
你能解釋一下更多的「建築像EE生成的網址+附加段」嗎? – GDmac
例如,我在使用標籤模塊時遇到了一個問題,我需要設置如下鏈接:「{path ='Characters/Season'}/{websafe_tag} /」。最初,我並不需要/之前的{websafe_tag},因爲URL的第一部分是用斜槓生成的。所以我在很多情況下都依賴於這個。 –
看起來像{path =}和{url_title_path}依靠'$ this-> EE-> functions-> create_url($ path)',所以這可能是一個額外的斜槓入侵的地方。但是我會推薦一個搜索並在上面的黑客核心EE模板中進行替換。 – GDmac