Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mod rewrite 使用mod rewrite apache重写路径_Mod Rewrite - Fatal编程技术网

Mod rewrite 使用mod rewrite apache重写路径

Mod rewrite 使用mod rewrite apache重写路径,mod-rewrite,Mod Rewrite,我是一个新的重写,我一直在寻找正则表达式,我可以使用它来创建我自己的url重写规则。我想知道如何重写这样的url https://www.mydomain.com/accout/log/folder1/folder2 到 我想直接以foder2为目标隐藏真实路径。有没有办法也创建一个假路径 在哪个.htaccess中我必须包含重写代码 谢谢 更新 谢谢@ThinkingMonkey,代码很好而且可以运行,但是缺少了一个处理程序,这就是为什么它一开始不能运行的原因 如果您有权访问conf文件,则

我是一个新的重写,我一直在寻找正则表达式,我可以使用它来创建我自己的url重写规则。我想知道如何重写这样的url

https://www.mydomain.com/accout/log/folder1/folder2

我想直接以foder2为目标隐藏真实路径。有没有办法也创建一个假路径

在哪个.htaccess中我必须包含重写代码

谢谢

更新


谢谢@ThinkingMonkey,代码很好而且可以运行,但是缺少了一个处理程序,这就是为什么它一开始不能运行的原因

如果您有权访问
conf
文件,则可以为
folder2
创建别名

Alias /folder2 /accout/log/folder1/folder2
然后做一个

RewriteEngine on
RewriteBase /folder2 
.htaccess
中放置在
acout/log/folder1/folder2

请记住,要使上述功能正常工作,必须启用
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_别名,但可以将您提供给我的代码包含在.htaccess文件中。这很有帮助。再次感谢。我试过了,但没用。可能是我遗漏了什么,或者代码有问题。你能再查一下吗。谢谢,这里还有一件奇怪的事。当我执行相同的精确编码时,url返回时不带www,而是展开完整链接。你知道发生了什么吗???@Digitalsite如果我理解正确,那就是后面的斜杠问题wrt
展开完整链接
@Digitalsite检查更新答案。
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]