只是想知道是否可以在单个(或多个)子文件夹上使用mod_rewrite
。
在一个文件夹中有一个服务,我想像休息服务语法一样调用。
$url = 'http://mysite/subfolder/parem1/parem2/parem3/';
$_SERVER['REQUEST_URI']
$tokens = explode('/', $url);
echo $tokens[sizeof($tokens)-2];
所以问题是我是否可以通过使用forexample modrewrite(仅通过在此文件夹中放置.htaccess
规则来捕获子文件夹中index.php中的所有不同段?)或者它是如何实现的?做完了?
问候
答案 0 :(得分:2)
如果要为子文件夹定义重写规则,请查看RewriteBase
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /yoursubfolder
RewriteRule ^(.*)$ index.php?$param=$1
</IfModule>
答案 1 :(得分:1)
有可能。在你的.htaccess中,你可以放一些这样的东西:
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([^/\.]+)/?$ index.php?p1=$1
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ index.php?p1=$1&p2=$2
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?p1=$1&p2=$2&p3=$3
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?p1=$1&p2=$2&p3=$3&p4=$4
</IfModule>
在您的情况下,您可以将带有index.php的.htaccess文件放在服务所在的文件夹中。
通过这种方式,您可以获取(并清理)$_GET
数组,而不是获取整个网址。