网址格式不匹配。多个片段

时间:2016-01-15 08:22:05

标签: regex .htaccess mod-rewrite

我有一个包含多个由斜杠分隔的url片段的url。例如:

http://example.com/media/2/2/bloesem-14087278823-ojpg
http://example.com/media/2/2/bloesem-14087278823-ojpg/250x250

在.htaccess中,我有以下规则:

RewriteRule "^media/(.+)/(.+)/(.+)(/.*)$" "laravel-index.php" [L]

问题是上面的URL不起作用。我必须包括这样的尾部斜杠:

http://example.com/media/2/2/bloesem-14087278823-ojpg/

我可以更改为正则表达式以匹配上部网址?

1 个答案:

答案 0 :(得分:1)

使用第二条规则匹配缺失的路径

RewriteRule "^media/([^/]+)/([^/]+)/([^/]+)(/.*)$" "laravel-index.php" [L]
RewriteRule "^media/([^/]+)/([^/]+)/([^/]+)$" "laravel-index.php" [L]

或使用?将您的上一组设为可选(匹配0或1次)

RewriteRule "^media/([^/]+)/([^/]+)/([^/]+)(/.*)?$" "laravel-index.php" [L]