猿问

重写URL后如何在php中捕获GET值

我将变量 id 从 index.php 页面传递到 load.php 页面,在 load.php 页面上我想使用 GET[id] 捕获 id 变量;


索引.php


<a href="load?id=1">Click Here</a>

加载.php


echo $_GET['id'];

.htaccess 文件


RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME}.php -f 

RewriteRule ^(.*)$ $1.php [L] 


RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /healthgrace/load/?\?id=([^&\ ]+)&?([^\ ]*)

RewriteRule ^ /healthgrace/load/%1?%2 [R=301,L]

当我在加载页面上捕获 id 时,它将显示 500 内部服务器错误。


哈士奇WWW
浏览 114回答 1
1回答

繁星点点滴滴

在规则中使用更正的正则表达式来实现301:RewriteEngine On&nbsp;RewriteCond %{THE_REQUEST} \s/+(healthgrace/load)/?\?id=([^&\s]+) [NC]RewriteRule ^ /%1/%2? [R=301,L]RewriteCond %{REQUEST_URI} ^(/healthgrace/load)/([\w-]+)/?$ [NC]RewriteRule ^ %1.php?id=%2 [L,QSA]RewriteCond %{REQUEST_FILENAME} !-d&nbsp;RewriteCond %{REQUEST_FILENAME} !-f&nbsp;RewriteCond %{REQUEST_FILENAME}.php -f&nbsp;RewriteRule ^(.+?)/?$ $1.php [L]
随时随地看视频慕课网APP
我要回答