i've been trying to convert this .htaccess for a week now
AMP Admin
admin at ampprod.com
Wed Dec 30 05:35:15 MSK 2009
Wow! This is awesome! I'll start working with this and see what I can come
up with.
Btw, I'm running Nginx 0.7.64
-----Original Message-----
From: Steve [mailto:steeeeeveee at gmx.net]
Sent: Tuesday, December 29, 2009 7:53 PM
To: nginx at nginx.org
Subject: Re: i've been trying to convert this .htaccess for a week now
-------- Original-Nachricht --------
> Datum: Mon, 28 Dec 2009 20:24:14 -0600
> Von: "AMP Admin" <admin at ampprod.com>
> An: nginx at nginx.org
> Betreff: i\'ve been trying to convert this .htaccess for a week now
> I hate to ask but this one is just too big and complicated for me to
> convert. Any help would be good. Thanks!
>
>
>
[removed long list of Apache Rewrite rules]
>
>
Since I don't know where you need those rewrites and what version of nginx
you are using and how you have setup the other stuff in nginx I am not able
to optimize the rewrite rules (some stuff can be done without rewriting when
using newer version of nginx). Anyway.... here a suggestion (you might need
to change "permanent" to "last" or in some cases to "break" but all this
depends where you add those rewrite rules in your nginx.conf):
--------------------------
rewrite ^/articles/?$ /articles.php permanent;
rewrite ^/articles/([^/.]+)/?$
/articles.php?action=viewarticle&articleUri=$1? permanent;
rewrite ^/articles/category/([^/.]+)/?$
/articles.php?action=viewcategory&articleCatUri=$1? permanent;
rewrite ^/news/?$ /news.php permanent;
rewrite ^/news/([^/.]+)/?$ /news.php?newsUri=$1? permanent;
rewrite ^/blogs/?$ /blogs.php permanent;
rewrite ^/blogs/all/(\d+)/(\d+)/?$ /blogs.php?page=$2&per_page=$1?
permanent;
rewrite ^/blogs/top/?$ /blogs.php?action=top_blogs? permanent;
rewrite ^/blogs/top/(\d+)/(\d+)/?$
/blogs.php?action=top_blogs&page=$2&per_page=$1? permanent;
rewrite ^/blogs/top_posts/?$ /blogs.php?action=top_posts? permanent;
rewrite ^/blogs/tag/([^/.]+)/?$ /blogs.php?action=search_by_tag&tagKey=$1?
permanent;
rewrite ^/blogs/tag/?$ /blogs.php?action=search_by_tag&tagKey=? permanent;
rewrite ^/blogs/posts/([^/.]+)/tag/([^/.]+)/?$
/blogs.php?action=search_by_tag&tagKey=$2&ownerName=$1? permanent;
rewrite ^/blogs/posts/([^/.]+)/category/([^/.]+)/?$
/blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2? permanent;
rewrite ^/blogs/entry/([^/.]+)/?$
/blogs.php?action=show_member_post&postUri=$1? permanent;
rewrite ^/blogs/entry/?$ /blogs.php?action=show_member_post&postUri=?
permanent;
rewrite ^/blogs/posts/([^/.]+)/?$
/blogs.php?action=show_member_blog&ownerName=$1? permanent;
rewrite ^/blogs/posts/?$ /blogs.php?action=show_member_blog&ownerName=?
permanent;
rewrite ^/blogs/posts/([^/.]+)/(\d+)/(\d+)/?$
/blogs.php?action=show_member_blog&ownerName=$1&page=$3&per_page=$2?
permanent;
rewrite ^/blogs/posts/([^/.]+)/category/([^/.]+)/(\d+)/(\d+)/?$
/blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2&page=$4&per_p
age=$3? permanent;
rewrite ^/events/?$ /events.php?show_events=all&action=show? permanent;
rewrite ^/events/all/(\d+)/(\d+)/?$
/events.php?show_events=all&action=show&page=$2&per_page=$1? permanent;
rewrite ^/events/part/?$ /events.php?show_events=all&action=show?
permanent;
rewrite ^/events/search/?$ /events.php?action=search? permanent;
rewrite ^/events/search/([^/.]+)/?$
/events.php?action=search_by_tag&tagKey=$1? permanent;
rewrite ^/events/my/?$ /events.php?action=show&show_events=my? permanent;
rewrite ^/events/new/?$ /events.php?action=new? permanent;
rewrite ^/events/entry/([^/.]+)/?$
/events.php?action=show_info&eventUri=$1? permanent;
rewrite ^/events/part/([^/.]+)/?$ /events.php?action=show_part&eventUri=$1?
permanent;
rewrite ^/ads/?$ /classifieds.php?Browse=1? permanent;
rewrite ^/ads/search/?$ /classifieds.php?SearchForm=1? permanent;
rewrite ^/ads/my/?$ /classifiedsmy.php?MyAds=1? permanent;
rewrite ^/ads/new/?$ /classifiedsmy.php?PostAd=1? permanent;
rewrite ^/ads/cat/([^/.]+)/?$ /classifieds.php?catUri=$1? permanent;
rewrite ^/ads/all/cat/(\d+)/(\d+)/([^/.]+)/?$
/classifieds.php?catUri=$3&page=$2&per_page=$1? permanent;
rewrite ^/ads/subcat/([^/.]+)/?$ /classifieds.php?scatUri=$1? permanent;
rewrite ^/ads/all/subcat/(\d+)/(\d+)/([^/.]+)/?$
/classifieds.php?scatUri=$3&page=$2&per_page=$1? permanent;
rewrite ^/ads/entry/([^/.]+)/?$ /classifieds.php?entryUri=$1? permanent;
rewrite ^/ads/tag/([^/.]+)/?$ /classifieds_tags.php?tag=$1? permanent;
rewrite ^/photo/all/(\d+)/(\d+)/?$ /browsePhoto.php?page=$2&per_page=$1?
permanent;
rewrite ^/photo/gallery_top/?$ /browsePhoto.php?rate=top? permanent;
rewrite ^/photo/gallery_top/(\d+)/(\d+)/?$
/browsePhoto.php?rate=top&page=$2&per_page=$1? permanent;
rewrite ^/photo/gallery_tag/([^/.]+)/(\d+)/(\d+)/?$
/browsePhoto.php?tag=$1&page=$3&per_page=$2? permanent;
rewrite ^/photo/gallery_tag/([^/.]+)/?$ /browsePhoto.php?tag=$1?
permanent;
rewrite ^/photo/gallery/all/([^/.]+)/(\d+)/(\d+)/?$
/browsePhoto.php?ownerName=$1&page=$3&per_page=$2? permanent;
rewrite ^/photo/gallery/all/([^/.]+)/?$ /browsePhoto.php?ownerName=$1?
permanent;
rewrite ^/photo/gallery/([^/.]+)/?$ /viewPhoto.php?fileUri=$1? permanent;
rewrite ^/photo/gallery/?$ /viewPhoto.php?fileUri=$1? permanent;
rewrite ^/music/all/(\d+)/(\d+)/?$ /browseMusic.php?page=$2&per_page=$1?
permanent;
rewrite ^/music/gallery_top/?$ /browseMusic.php?rate=top? permanent;
rewrite ^/music/gallery_top/(\d+)/(\d+)/?$
/browseMusic.php?rate=top&page=$2&per_page=$1? permanent;
rewrite ^/music/gallery_tag/([^/.]+)/(\d+)/(\d+)/?$
/browseMusic.php?tag=$1&page=$3&per_page=$2? permanent;
rewrite ^/music/gallery_tag/([^/.]+)/?$ /browseMusic.php?tag=$1?
permanent;
rewrite ^/music/gallery/all/([^/.]+)/(\d+)/(\d+)/?$
/browseMusic.php?ownerName=$1&page=$3&per_page=$2? permanent;
rewrite ^/music/gallery/all/([^/.]+)/?$ /browseMusic.php?ownerName=$1?
permanent;
rewrite ^/music/gallery/([^/.]+)/?$ /viewMusic.php?fileUri=$1? permanent;
rewrite ^/music/gallery/?$ /viewMusic.php?fileUri=$1? permanent;
rewrite ^/video/all/(\d+)/(\d+)/?$ /browseVideo.php?page=$2&per_page=$1?
permanent;
rewrite ^/video/gallery_top/?$ /browseVideo.php?rate=top? permanent;
rewrite ^/video/gallery_top/(\d+)/(\d+)/?$
/browseVideo.php?rate=top&page=$2&per_page=$1? permanent;
rewrite ^/video/gallery_tag/([^/.]+)/(\d+)/(\d+)/?$
/browseVideo.php?tag=$1&page=$3&per_page=$2? permanent;
rewrite ^/video/gallery_tag/([^/.]+)/?$ /browseVideo.php?tag=$1?
permanent;
rewrite ^/video/gallery/all/([^/.]+)/(\d+)/(\d+)/?$
/browseVideo.php?ownerName=$1&page=$3&per_page=$2? permanent;
rewrite ^/video/gallery/all/([^/.]+)/?$ /browseVideo.php?ownerName=$1?
permanent;
rewrite ^/video/gallery/([^/.]+)/?$ /viewVideo.php?fileUri=$1? permanent;
rewrite ^/video/gallery/?$ /viewVideo.php?fileUri=$1? permanent;
rewrite ^/groups/all/?$ /grp.php permanent;
rewrite ^/groups/entry/([^/.]+)/?$ /grp.php?action=group&groupUri=$1?
permanent;
rewrite ^/groups/category/([^/.]+)/?$ /grp.php?action=categ&categUri=$1?
permanent;
rewrite ^/groups/keyword/([^/.]+)/?$ /grp.php?action=categ&keyword=$1?
permanent;
rewrite ^/search/tag/([^/.]+)/?$ /search.php?Tags=$1 permanent;
--------------------------
Maybe using location is better?:
--------------------------
location /articles/ {
rewrite ^/articles/?$ /articles.php;
rewrite ^/articles/([^/.]+)/?$
/articles.php?action=viewarticle&articleUri=$1?;
rewrite ^/articles/category/([^/.]+)/?$
/articles.php?action=viewcategory&articleCatUri=$1?;
}
location /news/ {
rewrite ^/news/?$ /news.php;
rewrite ^/news/([^/.]+)/?$ /news.php?newsUri=$1?;
}
location /blogs/ {
rewrite ^/blogs/?$ /blogs.php;
rewrite ^/blogs/all/(\d+)/(\d+)/?$ /blogs.php?page=$2&per_page=$1?;
rewrite ^/blogs/top/?$ /blogs.php?action=top_blogs?;
rewrite ^/blogs/top/(\d+)/(\d+)/?$
/blogs.php?action=top_blogs&page=$2&per_page=$1?;
rewrite ^/blogs/top_posts/?$ /blogs.php?action=top_posts?;
rewrite ^/blogs/tag/([^/.]+)/?$
/blogs.php?action=search_by_tag&tagKey=$1?;
rewrite ^/blogs/tag/?$ /blogs.php?action=search_by_tag&tagKey=?;
rewrite ^/blogs/posts/([^/.]+)/tag/([^/.]+)/?$
/blogs.php?action=search_by_tag&tagKey=$2&ownerName=$1?;
rewrite ^/blogs/posts/([^/.]+)/category/([^/.]+)/?$
/blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2?;
rewrite ^/blogs/entry/([^/.]+)/?$
/blogs.php?action=show_member_post&postUri=$1?;
rewrite ^/blogs/entry/?$ /blogs.php?action=show_member_post&postUri=?;
rewrite ^/blogs/posts/([^/.]+)/?$
/blogs.php?action=show_member_blog&ownerName=$1?;
rewrite ^/blogs/posts/?$ /blogs.php?action=show_member_blog&ownerName=?;
rewrite ^/blogs/posts/([^/.]+)/(\d+)/(\d+)/?$
/blogs.php?action=show_member_blog&ownerName=$1&page=$3&per_page=$2?;
rewrite ^/blogs/posts/([^/.]+)/category/([^/.]+)/(\d+)/(\d+)/?$
/blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2&page=$4&per_p
age=$3?;
}
location /events/ {
rewrite ^/events/?$ /events.php?show_events=all&action=show?;
rewrite ^/events/all/(\d+)/(\d+)/?$
/events.php?show_events=all&action=show&page=$2&per_page=$1?;
rewrite ^/events/part/?$ /events.php?show_events=all&action=show?;
rewrite ^/events/search/?$ /events.php?action=search?;
rewrite ^/events/search/([^/.]+)/?$
/events.php?action=search_by_tag&tagKey=$1?;
rewrite ^/events/my/?$ /events.php?action=show&show_events=my?;
rewrite ^/events/new/?$ /events.php?action=new?;
rewrite ^/events/entry/([^/.]+)/?$
/events.php?action=show_info&eventUri=$1?;
rewrite ^/events/part/([^/.]+)/?$
/events.php?action=show_part&eventUri=$1?;
}
location /ads/ {
rewrite ^/ads/?$ /classifieds.php?Browse=1?;
rewrite ^/ads/search/?$ /classifieds.php?SearchForm=1?;
rewrite ^/ads/my/?$ /classifiedsmy.php?MyAds=1?;
rewrite ^/ads/new/?$ /classifiedsmy.php?PostAd=1?;
rewrite ^/ads/cat/([^/.]+)/?$ /classifieds.php?catUri=$1?;
rewrite ^/ads/all/cat/(\d+)/(\d+)/([^/.]+)/?$
/classifieds.php?catUri=$3&page=$2&per_page=$1?;
rewrite ^/ads/subcat/([^/.]+)/?$ /classifieds.php?scatUri=$1?;
rewrite ^/ads/all/subcat/(\d+)/(\d+)/([^/.]+)/?$
/classifieds.php?scatUri=$3&page=$2&per_page=$1?;
rewrite ^/ads/entry/([^/.]+)/?$ /classifieds.php?entryUri=$1?;
rewrite ^/ads/tag/([^/.]+)/?$ /classifieds_tags.php?tag=$1?;
}
location /photo/ {
rewrite ^/photo/all/(\d+)/(\d+)/?$ /browsePhoto.php?page=$2&per_page=$1?;
rewrite ^/photo/gallery_top/?$ /browsePhoto.php?rate=top?;
rewrite ^/photo/gallery_top/(\d+)/(\d+)/?$
/browsePhoto.php?rate=top&page=$2&per_page=$1?;
rewrite ^/photo/gallery_tag/([^/.]+)/(\d+)/(\d+)/?$
/browsePhoto.php?tag=$1&page=$3&per_page=$2?;
rewrite ^/photo/gallery_tag/([^/.]+)/?$ /browsePhoto.php?tag=$1?;
rewrite ^/photo/gallery/all/([^/.]+)/(\d+)/(\d+)/?$
/browsePhoto.php?ownerName=$1&page=$3&per_page=$2?;
rewrite ^/photo/gallery/all/([^/.]+)/?$ /browsePhoto.php?ownerName=$1?;
rewrite ^/photo/gallery/([^/.]+)/?$ /viewPhoto.php?fileUri=$1?;
rewrite ^/photo/gallery/?$ /viewPhoto.php?fileUri=$1?;
}
location /music/ {
rewrite ^/music/all/(\d+)/(\d+)/?$ /browseMusic.php?page=$2&per_page=$1?;
rewrite ^/music/gallery_top/?$ /browseMusic.php?rate=top?;
rewrite ^/music/gallery_top/(\d+)/(\d+)/?$
/browseMusic.php?rate=top&page=$2&per_page=$1?;
rewrite ^/music/gallery_tag/([^/.]+)/(\d+)/(\d+)/?$
/browseMusic.php?tag=$1&page=$3&per_page=$2?;
rewrite ^/music/gallery_tag/([^/.]+)/?$ /browseMusic.php?tag=$1?;
rewrite ^/music/gallery/all/([^/.]+)/(\d+)/(\d+)/?$
/browseMusic.php?ownerName=$1&page=$3&per_page=$2?;
rewrite ^/music/gallery/all/([^/.]+)/?$ /browseMusic.php?ownerName=$1?;
rewrite ^/music/gallery/([^/.]+)/?$ /viewMusic.php?fileUri=$1?;
rewrite ^/music/gallery/?$ /viewMusic.php?fileUri=$1?;
}
location /video/ {
rewrite ^/video/all/(\d+)/(\d+)/?$ /browseVideo.php?page=$2&per_page=$1?;
rewrite ^/video/gallery_top/?$ /browseVideo.php?rate=top?;
rewrite ^/video/gallery_top/(\d+)/(\d+)/?$
/browseVideo.php?rate=top&page=$2&per_page=$1?;
rewrite ^/video/gallery_tag/([^/.]+)/(\d+)/(\d+)/?$
/browseVideo.php?tag=$1&page=$3&per_page=$2?;
rewrite ^/video/gallery_tag/([^/.]+)/?$ /browseVideo.php?tag=$1?;
rewrite ^/video/gallery/all/([^/.]+)/(\d+)/(\d+)/?$
/browseVideo.php?ownerName=$1&page=$3&per_page=$2?;
rewrite ^/video/gallery/all/([^/.]+)/?$ /browseVideo.php?ownerName=$1?;
rewrite ^/video/gallery/([^/.]+)/?$ /viewVideo.php?fileUri=$1?;
rewrite ^/video/gallery/?$ /viewVideo.php?fileUri=$1?;
}
location /groups/ {
rewrite ^/groups/all/?$ /grp.php;
rewrite ^/groups/entry/([^/.]+)/?$ /grp.php?action=group&groupUri=$1?;
rewrite ^/groups/category/([^/.]+)/?$ /grp.php?action=categ&categUri=$1?;
rewrite ^/groups/keyword/([^/.]+)/?$ /grp.php?action=categ&keyword=$1?;
}
location /search/tag/ {
rewrite ^/search/tag/([^/.]+)/?$ /search.php?Tags=$1?;
}
location / {
try_files $uri $uri/ /profile.php?ID=$uri;
}
--------------------------
>
> RewriteCond %{REQUEST_FILENAME} -f [OR]
> RewriteCond %{REQUEST_FILENAME} -d
> RewriteRule .+ - [L]
> RewriteRule ^([A-Za-z0-9_-]+)$ profile.php?ID=$1 [QSA,L]
>
Those here could be done with a try rule. Something like:
--------------------------
location / {
try_files $uri $uri/ /profile.php?ID=$uri;
}
--------------------------
Or:
--------------------------
location / {
if (-e $request_filename) {
set $ampr01 1;
}
if ($request_filename ~* "^([A-Za-z0-9_-]+)$") {
set $ampr02 1;
}
if ($ampr01$ampr02 = "11") {
rewrite ^/([A-Za-z0-9_-]+)$ /profile.php?ID=$1 last;
break;
}
}
--------------------------
I have not tested those rules. I don't know if they work.
> Regards,
>
Kind Regards,
> -Team AMP
>
Steve
> http://www.ampprod.com
>
--
GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01
_______________________________________________
nginx mailing list
nginx at nginx.org
http://nginx.org/mailman/listinfo/nginx
More information about the nginx
mailing list