我正在尝试编写一组mod_rewrite规则来满足以下条件:
1) /aaa (redirects to) --> /xxx_aaa.php
2) /aaa/ --> /xxx_aaa.php
3) /aaa?w=x&y=z --> /xxx_aaa.php?w=x&y=z
3) /aaa/?y=z --> /xxx_aaa.php?y=z
4) /aaa/bbb/ --> /xxx_aaa_bbb.php
5) /aaa/bbb/ccc/ --> /xxx_aaa_bbb_ccc.php
6) /aaa/bbb/cc12-34cc --> /xxx_aaa_bbb_cc12-34cc.php
7) /aaa/bbb/ccc/?y=z --> /xxx_aaa_bbb_ccc?y=z.php
Run Code Online (Sandbox Code Playgroud)
以上列表并非详尽无遗,但它让您了解我希望涵盖的所有可能的排列.即,这些是:
1)最多三个子目录级别
2)工作是否存在关闭正斜杠
3)传递GET查询字符串,如果存在
这是我现在使用的:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9a-zA-Z\-]+)$ /xxx_$1.php [L]
RewriteRule ^([0-9a-zA-Z\-]+)/$ /xxx_$1.php [L]
RewriteRule ^([0-9a-zA-Z\-]+)/\?([0-9a-zA-Z\-=&]+)$ /xxx_$1.php?$2 [L]
RewriteRule ^([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)$ /xxx_$1_$2.php [L]
RewriteRule ^([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)/$ /xxx_$1_$2.php [L]
RewriteRule ^([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)/\?([0-9a-zA-Z\-=&]+)$ /xxx_$1_$2.php?$3 [L]
RewriteRule ^([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)$ /xxx_$1_$2_$3.php [L]
RewriteRule ^([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)/$ /xxx_$1_$2_$3.php [L]
RewriteRule ^([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)/([0-9a-zA-Z\-]+)/\?([0-9a-zA-Z\-=&]+)$ …Run Code Online (Sandbox Code Playgroud) 只是一个关于语法的简单问题.简化:
$testme[0] = "hello";
$v = "me";
echo $test{$v}[0]; //expect this to output "hello"
Run Code Online (Sandbox Code Playgroud)
有没有办法写上面的最后一行,以便"我"被一个变量引用?
谢谢!
正在构建一个 PHP 站点,其 URL 结构如下所示:
http://www.domain.com/list/X/
X 可以是从 1 到 ~50m(我们拥有的记录数)之间的任何整数。
由于站点的性质,内部需要通过增加 URL 来使人们难以自动提取数据,如下所示:
http://www.domain.com/list/1/
http://www.domain.com/list/2/
http://www.domain.com/list/3/
...
http://www.domain.com/list/50000000/
Run Code Online (Sandbox Code Playgroud)
所以我想用X某种随机字符串替换,然后在后台进行内部查找以检索记录整数 ID。
我一开始想做的是建立一个有 50m 行的表,将整数映射到一个随机的 12 字符字符串。
但是为了提高效率,我想到将整数附加到私钥,对其进行加密并使用加密字符串代替X. 然后我只需要解密字符串来检索整数。
任何人都可以推荐一种在 PHP 中执行此操作的方法,即:
1) 快速
2) 产生 URL 友好的字符
3) 结果在一个短字符串
我不关心防水安全(这只是为了阻止业余爱好者)。
谢谢!