htaccess need help rewriting url

2019-08-29 06:19发布

问题:

I've been trying to rewrite my URL's with a htaccess file. My project is using my index.php as it's basic controller. I fetch the pages from the database with the get-value "naam".

Example: localhost/YourDesigns/YDCMS/index.php?naam=home (this shows the homepage) localhost/YourDesigns/YDCMS/index.php?naam=about (this shows the about page)

Now i want to rewrite the URLS to be shown like this: localhost/YourDesigns/YDCMS/home (this shows the homepage) localhost/YourDesigns/YDCMS/about (this shows the about page)

I have done some htaccess stuff myself and i've successfully removed the "index.php" from the url, but the "naam" still remains.

How do i remove this? This is my current htaccess file:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /YourDesigns/YDCMS/index.php?naam=/$1 [L]

Thanks in advance :)

回答1:

I think your way to see the process it's not totally right, if you want to show the url like you say localhost/YourDesigns/YDCMS/home you have to first replace the url inside your html content to that format, then by using a RewriteRule you call the correct path internally:

RewriteRule ^desired_url_path/([a-z0-9\-]+)$ /base_url_path/index.php?naam=$1 [L]

this way when an user click on a link the Apache server will use the above regex to convert the url by a rule that basically says : everything after the base url is aparameter value to be passed on the index.php. Naturally the regex can be modified to suit your needs, the one i've written above it's a basic string pattern.