我有一个包含多个由斜杠分隔的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/
我可以更改为正则表达式以匹配上部网址?
答案 0 :(得分:1)
使用第二条规则匹配缺失的路径
RewriteRule "^media/([^/]+)/([^/]+)/([^/]+)(/.*)$" "laravel-index.php" [L]
RewriteRule "^media/([^/]+)/([^/]+)/([^/]+)$" "laravel-index.php" [L]
或使用?
将您的上一组设为可选(匹配0或1次)
RewriteRule "^media/([^/]+)/([^/]+)/([^/]+)(/.*)?$" "laravel-index.php" [L]