1

我试图在最后一个斜杠之后获取 URL 的 ID /。URL 如下所示:

mysite.com/ID

现在,当我在斜线后面加上 ID 时,它给了我 404 Not found。

这段代码让我得到斜杠后的 ID 和完整的 URL:


$url = $_SERVER['REQUEST_URI'];
echo "$url<br />";

$fullurl = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo $fullurl;

但问题是它显示 404 Not found,当我在斜杠后面加上 ID 时。这是我必须改变的.htaccess吗?

4

1 回答 1

0

您需要将您的http://site.com/idURL 重定向到您的.php文件

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^(.*?)/?$ index.php?id=$1 [L]

现在就像在 PHP 中id一样可用。$_GET["id"]如果您想将此限制为数字,请使用

RewriteRule ^(\d+)/?$ index.php?id=$1 [L]

如果您想传递/any/path/any/page.php给您的 PHP 文件,请使用

RewriteRule ^(.*)$ index.php?uri=$1 [L]
于 2013-10-24T13:40:17.430 回答