繁体   English   中英

如何为子目录“重写规则”? .htaccess / php

[英]how to “rewrite rule” for a sub-sub-directory? .htaccess/php

我在www.mydomain.com/abc/files/test中有一个名为test的文件夹。 我需要从www.mydomain.com/abc/files/test/test.php?id=15&key=some-text123更改URL

www.mydomain.com/abc/files/test/15/some-text123这类似于SO网址。

我尝试使用以下代码在.htaccess文件中进行跟踪

RewriteEngine on 
Options +FollowSymlinks
RewriteBase / 
RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2 [R]

它将我重定向到www.mydomain.com/test/test.php?id=15&key=some-text-123但由于我从某处复制了格式,因此无法正常工作。 我不确定^也应包括www部分,还是仅假设/为根?

“ id”部分对我很重要。 我还将以下内容视为有效的网址。

www.mydomain.com/abc/files/test/15 (without /some-text123")
www.mydomain.com/abc/files/test/15/ (without /some-text123 but having / )

您能帮我写下正确的规则吗?

我怎样才能使我不必对“ abc / files /”进行硬编码?

它不应该影响我网站的其他任何网址(“测试”文件夹除外)。

URL也应保持不变( /files/test/15 etc ),而不是更改为"?id=15&key=some-text123"

非常感谢。

R标志强制进行外部重定向。 因此,只需将其保留,请求将在内部重定向:

RewriteRule ^test/([0-9]+)/([A-Za-z0-9-]+)?$ test/test.php?id=$1&key=$2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM