Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I currently use .htaccess and PHP to parse URLs in the following way:

URL:

http://blah.com/article/123_this-that-and-the-other

.htaccess:

RewriteEngine On
RewriteRule ^article/([0-9]+)_(.+)/?$   index.php?page=article&id=$1 [L]

PHP

$page = isset($_GET['page']) ? safeGET($_GET['page']) : null;
$id   = isset($_GET['id'])   ? safeGET($_GET['id'])   : null;
if ($page=='article') { include 'article.php'; } elseif { ... }

I've begun running into problems with the far-too-paranoid Mod_Security engine that doesn't like the word "admin" in my $_GET requests. But mostly I'm just looking for new techniques for parsing SEO friendly URLs.

Anyone know of a more elegant approach?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
599 views
Welcome To Ask or Share your Answers For Others

1 Answer

You could get the whole query string as one paramter.

RewriteRule ^([^.]+)$ index.php?url=$1 [QSA,L]

Then you can split the string with php and convert the different parameters into an array to do whatever you like with.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...