使用mod重写apache重写路径
我是新来重写,我正在寻找我可以使用的正则表达式,以创建我自己的url重写规则。我想知道如何重写此类网址使用mod重写apache重写路径
https://www.mydomain.com/accout/log/folder1/folder2
要
https://www.mydomain.com/folder2
我想要的目标foder2直接隐藏真实路径。有没有办法如何创建一个虚假的道路?我不得不包括重写代码?
感谢
更新
感谢@ThinkingMonkey,代码是好的,它的工作原理,但有一个处理程序丢失,这就是为什么它没有在工作第一。
如果您有权访问conf
文件,则可以为folder2
创建别名。
Alias /folder2 /accout/log/folder1/folder2
,并做了
RewriteEngine on
RewriteBase /folder2
在放置在
accout/log/folder1/folder2
一个
.htaccess
。
请记住,对于上述工作mod_alias
必须启用为Alias
是从mod_alias
指令。
或者你可以在你的.htaccess
RewriteEngine on
RewriteBase/
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule^- [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(?:\.\w+|/)$
RewriteRule (.*) /$1/ [R,L]
RewriteCond %{REQUEST_URI} ^(/folder2)
RewriteRule ^(.*)$ /accout/log/folder1/$1 [L]
RewriteCond %{REQUEST_URI} ^/accout/log/folder1/folder2
RewriteRule accout/log/folder1/(folder2)(/(.*))?$ $1$2 [R,L]
感谢@ThinkingMonkey,是的,我没有mod_alias中在我的服务器上,但可以包含您在.htaccess文件中提供的代码。这非常有帮助。再次感谢。 – 2012-02-23 00:48:54
@Digitalsite欢迎您。 – ThinkingMonkey 2012-02-23 07:06:04
我试过了,但没有奏效。可能是我错过了某些东西,或者代码有问题。你能再次检查吗?谢谢 – 2012-02-23 07:48:41
这个网站可以帮助你创建你的正则表达式补充一点:http://txt2re.com/ – dom 2012-02-22 15:55:20