在我的.htaccess文件中,我可以将具有可能无限数量的子目录的URL重写为新的吗?
第一个"目录"他们的要求应该始终如一。
例如
/FOOBAR/this/is/my/url
到
/myscript.php?params=this,is,my,url
和
/FOOBAR/these/are/some/more/ones/cant/you/see
到
/myscript.php?params=these,are,some,more,ones,cant,you,see
我是否必须写出一条庞大的线来捕获我认为会被请求的目录,或者有没有办法捕获所有目录而不管数字?
我只知道.htaccess的基础知识,比如重写一个目录,我知道一点regex,但还不足以自己做。我甚至不知道从哪里开始。
答案 0 :(得分:2)
将整个路径重写为index.php
文件的参数。然后,在php文件中,使用str_replace
将/
更改为,
:
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?params=$1 [L]
index.php
$params = str_replace( '/', ',', $_GET['params'] );