我刚刚从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