我想让我的网址更友好,从domain / link / link.php?id = 123到domain / link / 123
我写了以下规则:
RewriteEngine On
RewriteRule ^([^/]*)$ link.php?id=$1 [L]
它位于/ link文件夹中的.htaccess。
在我的link.php文件中,我有:
echo $_GET['id'];
但结果总是" link.php"没有引号,而不是数字或字符串。
我做错了什么?
答案 0 :(得分:1)
尝试
RewriteEngine On
RewriteRule ^link/([0-9]+)$ link.php?id=$1 [L]
答案 1 :(得分:0)
您已指定它是使用L
标志的最后一条规则,但只要请求重写的网址,就会再次重写。
有两种可能的解决方案:
第一个选项的示例:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ link.php?id=$1 [L]
(请注意,*
已将+
更改为RewriteEngine On
RewriteRule ^(\d+)$ link.php?id=$1 [L]
^^^ Look for 1 or more digits
一个或多个
第二个选项的一个例子:
if(turn==true)
{
XDO();
turn==false; // assignment operator should be used turn =false
}
else if(turn ==false)
{
ODO();
turn==true; // assignment operator should be used turn =true
}