0

我有一个想法让我很生气,因为我对 htaccess 不是很好。

我有网址http://(www./non-www.)example.com/dir/page/file。但我想将此重定向到目录root/release/.../dir/page/file

所以

root/.htaccess
root/release/1.0/...
root/release/1.5/...
root/release/2.0/...
root/admin/1.0/...
root/admin/1.5/...
root/admin/2.0/...
etc

如果他们浏览到example.com/admin你去example.com/admin/2.0。但我认为棘手的一点是我不希望看到 example.com/release/version或 example.com/admin/ version

或者我可以只托管两个版本release/stable,并且release/beta.

我希望这对某人有意义,谢谢

4

1 回答 1

0

听起来最简单的事情是制作一个像example.com/admin元重定向到的页面example.com/admin/2.0,然后你只需做一个 mod-rewrite 回到通用 url。当您增加版本时,只需更改元刷新,因为您的 .htaccess mod-rewrite 将具有与您的版本编号系统匹配的 reg-ex。

例子:

首先对于example.com/admin文件,在标头中实现元刷新:

<meta http-equiv="refresh" content="0;URL='example.com/admin/2.0'">

现在从 2.0(或任何版本)重新写入到您想去的地方:

#first, we need to define the request, in this case, admin/any number
RewriteCond %{THE_REQUEST} /admin/([0-9]*)
# now we need to make it look like it's just the plain admin page
RewriteRule ^$ /admin [R=301,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^admin /admin/([0-9]*) [L]

您需要修复我的 reg-ex 匹配以使其成为 2 "point" 0

于 2013-02-24T12:51:27.760 回答