Ald*_*dhi 3 apache .htaccess mod-rewrite laravel
我正在构建一个 Laravel 项目。该项目本身有一个结构完全不同的“遗留”版本。据记录,某些用户正在尝试访问在新环境中找不到的文件。
为了快速“修复”,我们想要重定向路径,例如
/media/22044/blablabla.pdf到/en/press快速的解决方案是使用
Redirect 301 /media/22044/blabla.pdf /en/press
Run Code Online (Sandbox Code Playgroud)
但我们希望背后的道路/media/是动态的。我对.htaccess东西很陌生。有办法做到吗?
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
# this one works, but not dynamic
#Redirect 301 /media/2336/blabla.pdf /en/press
# failed experiments
#Redirect 301 (\/media)(.*)$ /en/press
#Redirect 301 ^/media/(.*)$ /en/press
#RewriteRule ^/media/(.*) /en/press [R=301,NC,L]
Redirect 301 /media/(.*) /en/press
</IfModule>
Run Code Online (Sandbox Code Playgroud)
在现有重写之前,您需要使用 mod_rewriteRewriteRule指令(而不是Redirect) 。
例如:
RewriteEngine on
# Redirect "/media/<anything>" to "/en/press"
RewriteRule ^media/ /en/press [R=301,L]
# Rewrite all requests to the "/public" subdirectory
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
Run Code Online (Sandbox Code Playgroud)
该Redirect指令使用简单的前缀匹配,而不是正则表达式。但也会稍后在请求中进行处理。
RewriteRule 请注意,与指令不同,模式匹配的 URL 路径不以斜线开头Redirect。
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |