Browse Source

[Routing] Route collection prefixes must start with a / and must not end with a /

Fabien Potencier 14 năm trước cách đây
mục cha
commit
98e70f0963
1 tập tin đã thay đổi với 8 bổ sung0 xóa
  1. 8 0
      src/Symfony/Component/Routing/RouteCollection.php

+ 8 - 0
src/Symfony/Component/Routing/RouteCollection.php

@@ -120,10 +120,18 @@ class RouteCollection implements \IteratorAggregate
      */
     public function addPrefix($prefix)
     {
+        // a prefix must not end with a slash
+        $prefix = rtrim($prefix, '/');
+
         if (!$prefix) {
             return;
         }
 
+        // a prefix must start with a slash
+        if ('/' !== $prefix[0]) {
+            $prefix = '/'.$prefix;
+        }
+
         $this->prefix = $prefix.$this->prefix;
 
         foreach ($this->all() as $route) {