【问题标题】:Apache RewriteRule replace urlApache RewriteRule 替换 url
【发布时间】:2013-01-03 19:23:01
【问题描述】:
我正在尝试修改 .htaccess 文件以获取 URL 翻译,如下所示:
www.example.com/site/blahblahblah/files/a.jpg -> www.example.com/site/files/a.jpg
类似:
RewriteBase /site/
RewriteRule ^(.*)/files/(.*)$ files/$1 [L]
但它不起作用。
谢谢
【问题讨论】:
标签:
apache
.htaccess
mod-rewrite
【解决方案1】:
你可以试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !site/files/?.*
RewriteCond %{REQUEST_URI} (files)/?(.*)
RewriteRule .* http://www.example.com/site/%1/%2 [L,R=301,QSA]
将重写:
http://www.example.com/site/blahblahblah/files/a.jpg
到这里:
http://www.example.com/site/files/a.jpg