Rewrite url with parameter and php request
Directories: eventfinder - project folder
- Localhost
- project1
- project2
- eventfinder
---. Htaccess
User comes to http: // localhost / eventfinder / page and types 'randomevent123' after / eventfinder /
then php request happens to? event = randomevent123
$event = $_GET['event'];
$stmt = $conn->prepare("SELECT * FROM events WHERE name = :name");
$stmt->bindParam(":name", $event);
$stmt->execute();
and returns data from the database
I'm trying to rewrite my url, but I don't understand what the problem is ...
http://localhost/eventfinder/index.php?event=randomevent123
to
http://localhost/eventfinder/randomevent123
With .htaccess
RewriteEngine On
RewriteRule ^([^/]*)$ /index.php?event=$1 [L]
But the request won't work.
source to share
Try the following:
- Confirm
mod_rewrite
loaded - Make sure it
AllowOverride
allows htaccess to be processed -
The following rule (inside the directory
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]
source to share
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /eventfinder/index.php?event=$1 [L]
You can !-f
and !-d
check the requested filename to make sure that the specified URL-address is not a file and not a directory before doing himself rewrite - it prevents recursive cycleindex.php
source to share