这是我目前的htaccess代码:
RewriteEngine On
RewriteRule ^([^/]+)/([^/]+)$ index.php?apikey=$1&url=$2
RewriteRule ^([^/]+)/([^/]+)/$ index.php?apikey=$1&url=$2
当我去http://example.com/testing/google.com
时,它就像我想要的那样。
我使用这个PHP代码:
<?php echo $_GET['apikey']; ?> - <?php echo $_GET['url']; ?>
我明白了:
testing - google.com
这就是我想要的。但是当第二个参数中有特殊字符时,我遇到了问题(它们永远不会出现在第一个参数中)。例如,我试过这个:
http://example.com/testing/http://www.google.com/?test#again%%notworking
这应该在我的页面上显示:
testing - http://www.google.com/?test#again%%notworking
但我得到了404错误。这可能与我的htaccess有关,还是我需要在PHP中更改某些内容?
修改
如果这有助于知道,第一个参数将始终是小写字母和数字。它也是32个字符。