目录: eventfinder 是项目文件夹
用户来到页面http://localhost/eventfinder/并在/ eventfinder /
之后键入'randomevent123'然后php查询发生在?event = randomevent123
$event = $_GET['event'];
$stmt = $conn->prepare("SELECT * FROM events WHERE name = :name");
$stmt->bindParam(":name", $event);
$stmt->execute();
并从数据库中返回数据
我正在尝试重写我的网址,但我不明白这是什么问题......
http://localhost/eventfinder/index.php?event=randomevent123
到
http://localhost/eventfinder/randomevent123
使用.htaccess
RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?event=$1 [L]
但查询无效。
答案 0 :(得分:2)
尝试以下内容:
mod_rewrite
AllowOverride
是否允许htaccess解析以下规则(在eventfinder
目录内):
RewriteEngine On
RewriteBase /eventfinder/
RewriteCond %{THE_REQUEST} ^GET\ /eventfinder/index\.php\?event=([^\s&]+) [NC]
RewriteRule ^index\.php$ %1 [R,L,QSD]
RewriteRule ^(?!index\.php([^/]+))$ index.php?event=$1 [L]
答案 1 :(得分:0)
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /eventfinder/index.php?event=$1 [L]
您可以!-f
和!-d
检查所请求的文件名,以确保所输入的网址不一个文件且不在重写之前的目录 - 它会阻止index.php