我想自定义我现有的.htaccess文件,以便我可以从Url获取参数。现在我的.htaccess文件看起来像这样:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
有了这个,我可以得到/:
之后的第一个参数所以我得到test1,但我希望得到更多这样的参数:
http://domain.com/test1/test2/test3
等等。使用我的.htaccess中的设置它只适用于第一个参数,如果有人可以告诉我需要更改的内容以获得第二个和第三个参数,那将会很棒!
谢谢!
答案 0 :(得分:0)
你可以试试这个:
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteCond %{REQUEST_URI} ^/([^/]+)/?([^/]*)?/?([^/]*)?/? [NC]
RewriteRule .* index.php?key1=%1&key2=%2&key3=%3 [L]
无声地映射
http://domain.com/val1/
最多http://domain.com/val1/val2/val3
,有或没有尾随斜杠
要:
http://domain.com/index.php?key1=val1&key2=val2&key3=val3
参数作为具有键值对的查询传递给index.php
。在php中获取一个值的示例:$_GET['key1']
将获取 key1
(val1)的值。
Keys
是固定字符串,可以是任何名称,而valN
是传入网址所包含的变量字符串。
对于此示例,传入URL中传递的参数的最大数量(valN
)为3,最小值为1.但可以更多地修改规则。
要获得永久性和可见的重定向,请将[L]
替换为[R=301,L]