How to automatically save ontology's changes from Protege to github - protege

I am very new on Protege, what I am trying to accomplish now, is any changes I make to an Ontology that I have constructed in Protege, to be automatically (without the use of any local repository) changed and stored in a github repository or a public link (website e.t.c.). Do this kind of tools exist? Can you provide me an idea? I searched over the google without any success...

Basically what do these lines mean?
RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml.*(text/html|application/xhtml\+xml|text/\*|\*/\*)
RewriteCond %{HTTP_ACCEPT} text/html [OR]
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml [OR]
RewriteCond %{HTTP_ACCEPT} text/\* [OR]
RewriteCond %{HTTP_ACCEPT} \*/\* [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/.*
...
RewriteCond %{HTTP_ACCEPT} ^.*application/rdf\+xml.*
...
RewriteCond %{HTTP_ACCEPT} ^.*text/turtle.*
I am also trying to figure out with apache tutorials..! Thanks!

Related

.htaccess Angular app crawler redirect not working on specific URLs

I am making an inventory management site using Angular and Firebase. Because this is angular, there are problems with web crawlers, specifically Slack/Twitter/Facebook/.etc crawlers that grab meta information to display a card/tile. Angular does not do well with this.
I have a site at https://domain.io (just the example) and, because of the angular issue, I have a firebase function that created a new site that I can redirect traffic to. When it gets the request (onRequest), I can grab whatever query parameters I've sent it and call the DB to render the page, server-side.
So, The three examples that I need to redirect are:
From: https://domain.io/item/ABC123
To: https://us-central1-domain.cloudfunctions.net/metaTags?item=ABC123
--
From: https://domain.io/bench/USERNAME
To: https://us-central1-domain.cloudfunctions.net/metaTags?bench=USERNAME
--
From: https://domain.io/bench/USERNAME/ITEMTYPE
To: https://us-central1-domain.cloudfunctions.net/metaTags?bench=USERNAME&type=ITEMTYPE
I can't seem to get the right combination. This is what I have right now. Note: The item redirect is working, but the other two are not...
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.html$ - [L]
# If a bot goes to an Item
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|Slackbot|Slack-ImgProxy|Slackbot-LinkExpanding|Site\ Analyzer|SiteAnalyzerBot|Viber|Whatsapp|Telegram [NC,OR]
RewriteCond %{REQUEST_URI} ^/item/
RewriteRule ^item/(.+)$ https://us-central1-domain.cloudfunctions.net/metaTags?item=$1 [NC,L]
# If a bot goes to a simple bench
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|Slackbot|Slack-ImgProxy|Slackbot-LinkExpanding|Site\ Analyzer|SiteAnalyzerBot|Viber|Whatsapp|Telegram [NC,OR]
RewriteCond %{REQUEST_URI} ^/bench/
RewriteRule ^bench/(.+)$ https://us-central1-domain.cloudfunctions.net/metaTags?user=$1 [NC]
# If a bot goes to a bench of a type
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|Slackbot|Slack-ImgProxy|Slackbot-LinkExpanding|Site\ Analyzer|SiteAnalyzerBot|Viber|Whatsapp|Telegram [NC,OR]
RewriteCond %{REQUEST_URI} ^/bench/
RewriteRule ^bench/(.+)/(.+)$ https://us-central1-domain.cloudfunctions.net/metaTags?user=$1&type=$2 [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
It's also important to note that I would like this to work on any sub-domain (I have my dev and staging environments set up with subdomains) as well as make sure it's always directed to https
Any thoughts?
Use [NC,L] flags also for both bench RewriteRules
Use ([^/]+) instead of (.+) in regex patterns
Change [NC,OR] to [NC] in user-agent RewriteCond
You can try this below code. (Not tested)
# If a bot goes to a simple bench
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|Slackbot|Slack-ImgProxy|Slackbot-LinkExpanding|Site\ Analyzer|SiteAnalyzerBot|Viber|Whatsapp|Telegram [NC,OR]
RewriteCond %{REQUEST_URI} ^/bench/(.*)
RewriteRule ^bench/(.*)$ https://us-central1-domain.cloudfunctions.net/metaTags?user=$1 [NC]
# If a bot goes to a bench of a type
RewriteCond %{HTTP_USER_AGENT} baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest|Slackbot|Slack-ImgProxy|Slackbot-LinkExpanding|Site\ Analyzer|SiteAnalyzerBot|Viber|Whatsapp|Telegram [NC,OR]
RewriteCond %{REQUEST_URI} ^/bench/(.*)/(.*)
RewriteRule ^bench/(.*)/(.*)$ https://us-central1-domain.cloudfunctions.net/metaTags?user=$1&type=$2 [NC]
If it doesn't work, try [NC] with [L].

Add '/mobile' to url on mobile device

I am trying to come up with an htaccess code that will allow me to redirect users on all mobile devices going to webpage that begins with www.example.com/blog or example.com/blog to specific page - pretty much the same link with the following extension: /mobile.
so that websites for mobile devices become:
www.example.com/blog -> www.example.com/blog/mobile
example.com/blog -> example.com/blog/mobile
How can I do that?
You can place this rule in your site root .htaccess:
RewriteEngine On
RewriteCond %{HTTP:x-wap-profile} !^$ [OR]
RewriteCond %{HTTP:Profile} !^$
RewriteRule ^blog/?$ /$0/mobile [L,NC,R=302]
This is assuming you don't have a .htaccess inside blog/ directory.
If you already have a blog/.htaccess then use this rule in blog/.htaccess
RewriteEngine On
RewriteCond %{HTTP:x-wap-profile} !^$ [OR]
RewriteCond %{HTTP:Profile} !^$
RewriteRule ^/?$ /blog/mobile [L,R=302]
If above header don't work then use user agent based checks:
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]
RewriteRule ^blog/?$ /$0/mobile [L,NC,R=302]

.htaccess mobile redirect not working with all files of my website

I've inserted code on .htaccess file for mobile redirect:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:X-WAP-PROFILE} !^$ [OR]
RewriteCond %{HTTP:PROFILE} !^$ [OR]
RewriteCond %{HTTP_USER_AGENT} ^.*(Alcatel|Asus|Android|BlackBerry|Ericsson|Fly|Huawei|i-mate|iPAQ|iPhone|iPod|LG-|LGE-|MDS_|MOT-|Nokia|Palm|Panasonic|Pantech|Philips|Sagem|Samsung|Sharp|SIE-|Symbian|Vodafone|Voxtel|WebOS|Windows\s+CE|ZTE-|Zune).*$ [NC,OR]
RewriteCond %{HTTP_ACCEPT} application/vnd.wap.xhtml\+xml [NC,OR]
RewriteCond %{HTTP_ACCEPT} text/vnd.wap.wml [NC]
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{SERVER_NAME} ^www\.(.*)$
RewriteRule ^(.*) http://m.%1/ [L]
I have a issue: The .htaccess file works only with index file, it not redirects with other files of my site.
I tried to write www.example.com/file_different_to_index.php in my phone and website is NOT redirecting to m.example.com/file_different_to_index.php
Just change the last line:
RewriteRule ^(.*) http://m.%1/$1 [L]
If you want another option that works, this is the one time I think handling mobile detect and redirecting works well in PHP. I use it all the time and it detects even down to the OS if you want.
This works much better and you don't have do do all those conditions in htaccess.
https://github.com/serbanghita/Mobile-Detect#usage
Check my other answer below for examples of how to use it. Its easy and you can have it working in 10 minutes. Just use a condition statement and then use php to redirect with header location.
Mobile Browser Check IF Statement

Using .htaccess to redirect obsolete browsers

Im trying to redirect few browsers using htaccess to a page that would suggest to update their browser and I cant figure it out with the .htaccess file:
Currently I am using:
RewriteCond %{HTTP_USER_AGENT} "MSIE 6"
RewriteCond %{REQUEST_URI} !^/ie/
but that transfers only internet explorer 6. How can I add more browsers and where can I find their user_agent names? I found this article online: http://evansims.com/6032/using-htaccess-to-redirect-obsolete-browsers/ which suggests this:
RewriteCond %{HTTP_USER_AGENT} "Opera/3" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Opera/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/4" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/3" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/2" [or]
RewriteCond %{HTTP_USER_AGENT} "Safari/1" [or]
RewriteCond %{HTTP_USER_AGENT} "Navigator/" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 6" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 5" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 4" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 3" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 2" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 1"
RewriteRule . upgrade.html [L]
but it doesn't seem to work for me. Is there any website that provides a list with the http user agents in bulk? For example when I say Firefox 3.0 it means all versions including 3.6
This website: http://www.useragentstring.com/pages/Firefox/ has hundreds of user agents which Im pretty sure there is a way to include all of them in one row? ( Like IE6,7 Firefox 1 to 3 (including 3.6), Opera 1 to 10 etc )
# Jeff
You can't use [1-15] because that says 1 thru 1 or 5
You need to use something like [1-9] which means 1 thru 9. You can can't use double digits in a range like that.
So you would have to do it like so:
RewriteCond %{HTTP_USER_AGENT} Firefox/[1-9][0-5]?\. [NC,OR]
[1-9][0-5]?
Means 1 thru 9, with or without a 0 thru 5
RewriteCond %{HTTP_USER_AGENT} Opera/[1-3] [OR]
RewriteCond %{HTTP_USER_AGENT} Safari/[1-4] [OR]
RewriteCond %{HTTP_USER_AGENT} Navigator/ [OR]
RewriteCond %{HTTP_USER_AGENT} MSIE [1-6]
RewriteRule .? upgrade.html [L]
This should work better.
See this post: Mobile or desktop browser detection and redirect to respective web page
Can you do it with php or other backend instead? The following is for mobile detection, but you could easily put in your own user agent list. If the condition is met
<?php
$useragent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4)))
// insert php redirect code here
?>

Auto switch user to mobile version of the site

I have a setup a redirect so any body on a mobile device get automatically transferred to the mobile version of the site. (See below - .htaccess file) But it suddenly occurred to me that some people may actually want to visit the main site (e.g on an iphone or ipad) Is there a way can somehow set a variable when a link is click is clicked (and kept for that session) and still allow of the .htaccess to control the redirect?
if it helps we are using jquery mobile and php
Any help would be greatly appreciated.
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC]
RewriteRule ^(.*)$ http://mobile.mydomain.com/$1 [L,R=302]
What I have done before is use mod_rewrite to also set a cookie:
RewriteCond %{HTTP_COOKIE} !FULLSITE=yes
### Your current conditions...
RewriteRule (.*) http://m.yoursite.com/? [R,L]
And I set the cookie FULLSITE whenever the user actually clicks the "view full site" link from the mobile site.
Hope that helps.
Any reason you dont just use a server-side User-Agent sniff combined with a cookie? I would also seriously consider not automatically sending iPad users to a mobile version - they have a full-featured browser and plenty of space to view your page as a user in a traditional web browser would see it

Resources