Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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
Php Mod重写apache_Php_Apache_.htaccess_Mod Rewrite_Redirect - Fatal编程技术网

Php Mod重写apache

Php Mod重写apache,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我想重新连接以下网址 要重定向的url格式类似于 localhost/project/share file/share id/path to file 共享id因所有URL而异,但所有共享id均为32个字符 路径可以是任何级别 例如:root/abc、root/abc/xyz、root/zz/aa/bb等等 我需要以下重定向规则 原始链接:localhost/project/share file/ae34chfj/root/ab 重定向到:localhost/project/share file

我想重新连接以下网址

要重定向的url格式类似于
localhost/project/share file/share id/path to file

共享id因所有URL而异,但所有共享id均为32个字符

路径可以是任何级别
例如:root/abc、root/abc/xyz、root/zz/aa/bb等等

我需要以下重定向规则
原始链接:localhost/project/share file/ae34chfj/root/ab

重定向到:localhost/project/share file view.php?shared=ae34chfj&path=root/abc

重定向的另一个例子是
原始链接:localhost/share file/gh12a23f/root/abc/x

重定向到:localhost/project/share file view.php?shared=gh12a23f&path=root/abc/x


我不知道路径的层数。是否有重写规则来执行此操作。还是有办法的

对于此规则,您的htaccess必须位于您的项目文件夹中:

RewriteEngine on
RewriteBase /project/

RewriteRule ^share-file/([A-Za-z0-9]{32})/(.+)$ share-file-view.php?shareId=$1&path=$2 [L]

您自己尝试过什么吗?我想用一个参数发送整个共享id/路径,然后使用字符串操作来分离中的共享id和路径php@ArupRakshit这个问题与ruby无关,所以我在这里问了它。我刚开始学习ruby,肯定会在ruby forumI中询问与ruby相关的问题。我将规则复制到.htaccess并在浏览器中键入。它返回“此服务器上未找到请求的URL/project/share directory/70cbPF858ZoGRVyIlXIns3uoxGXZpNHS/root/a。”在您的问题中,您说的是共享文件,而不是共享目录。另外,我为共享idI添加了大写字母。我将重写规则更改为重写规则^share directory/([A-Za-z0-9]{32})/(.+)$share file view.php?shareId=$1&path=$2[L],但仍然是相同的错误谢谢您的时间。我得到了它。问题是由于股票id中的大写字母引起的