Ready to rapidly transform your startup? I translate complex AI, GenAI, IoT, and Robotics into tangible, growth-driving solutions that unlock new market opportunities and accelerate your innovation roadmap.
Friday
$10 PC from India soon
Based on the technology developed by IISC, Bangalore and IIT Madras, the Rs 500 computer will be a small equipment with expandable memory, LAN and Wi-Fi facilities.
"But lot of testing has to be done to ensure that the technology works properly. Once the testing is over, the computers will be made available on commercial basis. The target is to make it available in six months time," Higher Education Secretary, Ministry of HRD, R P Agrawal said reporters on Thursday.
The government is also planning to produce e-content on every subject which will be made available free of cost, said reports.
A prototype computer has been designed which is being tested now. "Its cost will be USD 10. If the parents want to gift something to their kids, they can easily purchase this item and gift them," Agrawal said.
The low-cost computers are being developed under National Mission on Education through Information Communication Technology (ICT) and the Cabinet Committee on Economic Affairs (CCEA) has approved the scheme, he added.
©CyberMedia News
Wednesday
Dual-Boot Linux and Windows 2000/Windows XP with GRUB HOWTO
* Your machine already has Windows installed, and you are installing Linux as a second operating system, and
* You want to leave the Windows boot loader (NTLDR) on the MBR (Master Boot Record). This allows you to continue to boot Windows with no issues. I've heard that Windows 2000/Windows XP or anti-virus software may complain if the MBR does not contain the Windows boot loader
You can use either GRUB or LILO to dual-boot Windows 2000/Windows XP and Linux. Both functionally work fine, but from what I've read, GRUB requires less maintenance, as LILO requires you to reinstall the boot loader (by running /sbin/lilo) every time you rebuild the kernel or make changes to /etc/lilo.conf.
Requirements for /boot Partition
The location of the /boot partition on the hard drive is critical so that you don't get screwed by the infamous BIOS 1024 cylinder limit. The BIOS of older systems can't access data beyond cylinder 1024, which is ~8.5 GB. A simple way to avoid the BIOS 1024 limit is to create /boot within the first 1024 cylinders (~8.5 GB) of the hard drive. If you have multiple hard drives (disks), /boot must be on the same hard drive (probably the first hard drive) that has the Windows boot loader (NTLDR) on the MBR.
Here are some options for where to create /boot partition.
1. (What I did) Shrink the Windows partition such that there is 50 MB of unused disk space at the beginning of the drive and lots of space after the Windows partition. You can install the /boot Linux partition in this first 50 MB and avoid any potential issues with the 1024-cylinder limit entirely.
2. Shrink the Windows partition such that it does not cross the 1024 cylinder (~8.5 GB), and install the /boot partition right after the Windows partition.
3. Use LBA (Logical Block Addressing). LBA allows you to boot beyond the 1024 cylinder. In order to use LBA, your BIOS must support it. In addition, for LILO, you must also add a flag to enable LBA support. GRUB supports LBA "out-of-the-box"
To non-destructively shrink the Windows partition, you can use the free software program fips (please note that fips does not currently support NTFS partitions). Another option is the excellent commercial product Partition Magic. It has an easy-to-use GUI. Unfortunately, the tool that comes with Red Hat 7.2, Disk Druid, does not have the ability to shrink existing partitions. Once you've shrunk the Windows partition, you can use Disk Druid during the Red Hat Installation to create all the partitions you need for Linux.
Dual-Boot Setup
Following are the steps to get dual-boot working with GRUB; I figured out how to do this by looking at a similar procedure for LILO. I've verified that this works for Windows 2000 and Windows XP, and this should work on Windows NT (all 3 OSs use the same booting architecture).
1. Install GRUB on the first sector of the /boot partition. DO NOT INSTALL IT ON THE MBR!.
If you are performing the Red Hat installation, for the "Boot Loader Installation" screen:
* Select "Use GRUB as the boot loader"
* Select Install Boot Loader record on "...First sector of boot partition".
* After finishing the Red Hat installation, reboot into Linux. If you don't have a boot disk, try booting in linux rescue mode
If you already have Linux installed:
* Run the following command (e.g. assuming /boot is /dev/hda2): grub-install /dev/hda2.
If you don't know which partition contains /boot, run the df command and check the output.
* Edit /etc/grub.conf and make sure there is an entry for your version of Windows. For reference, here is a copy of my /etc/grub.conf file.
2. Determine which partition contains the /boot partition by running the df command. You'll see output like this:
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda3 8665372 1639580 6585612 20% /
/dev/hda2 46636 5959 38269 14% /boot
/dev/hda6 513776 189504 324272 37% /osshare
none 256624 0 256624 0% /dev/shm
From this output, we see that /boot is on /dev/hda2.
3. Make a copy of the Linux boot sector onto a floppy or onto a FAT32 partition. We'll name this copy linux.bin.
To make a copy onto a floppy:
* Mount the floppy drive if it's not mounted (assumes /mnt/floppy exists): mount -t msdos /dev/fd0 /mnt/floppy
* Run the following command: dd if=/dev/hda2 of=/mnt/floppy/linux.bin bs=512 count=1
Substitute the path for the if= parameter (the input file) with the appropriate partition from the previous step. E.g., set if= to /dev/hda2.
To make a copy onto a FAT32 (vfat) partition:
* Mount the FAT32 partition if it's not mounted yet. If it isn't listed in the df output, it hasn't been mounted yet. Check out steps 3a-3c for mounting a FAT32 partition on the "Share Partitions HOWTO".
* Run the following command: dd if=/dev/hda2 of=/osshare/linux.bin bs=512 count=1
Substitute the path for the if= parameter (the input file) with the appropriate partition from the previous step. E.g., set if= to /dev/hda2. Substitute the path for the of= parameter (the output file) with whatever is appropriate for your system. The example here (of=/osshare/linux.bin) is for copying onto a FAT32 partition called osshare.
4. Reboot into Windows
5. Copy the linux.bin file to C:\
6. Run notepad and edit C:\boot.ini. Note that C:\boot.ini is a hidden system file, so it probably won't show up in Windows Explorer. To edit the file, try: Start->Run and enter: notepad C:\boot.ini. Add the following line at the end: c:\linux.bin="Linux"
If your C: filesystem is NTFS (not FAT32), you must edit C:\boot.ini as a user with administrator-level privileges.
To make C:\boot.ini writable, you can either :
* Use Explorer:
o Go to Tools->Folder Options->View and select Show hidden files and folders and deselect Hide protected operating system files (Recommended).
o Right-click on the file, view the Properties and uncheck Read-only. You can now edit the file.
o After editing the file, restore the settings to their original state.
* Use the command-line:
o Make the file writable: attrib -R -S -H C:\boot.ini.
o After you've finished editing the file, put the settings back: attrib +R +S +H C:\boot.ini
For reference, here is a copy of my boot.ini file.
7. Reboot again. You should be able to pick either Windows or Linux. Selecting Linux will start GRUB
Troubleshooting
* When I select Linux from the boot menu, I get a frozen "GRUB" (or an "L" in the case of LILO)
* Make sure you created the linux.bin file correctly with the dd command. If you think you ran the command correctly, the problem may be that your /boot partition is beyond cylinder 1024 and your BIOS can't reach it. At system startup, the Windows boot loader lists the choices from boot.ini. When you select Linux, the boot loader then loads the 512-byte linux.bin file, and then BIOS tries to access the /boot partition to run GRUB. Some BIOS implementations can only address the first 1024 cylinders of a hard drive, which corresponds to ~8.5 GB. How do you fix this? Create your /boot partition before cylinder 1024; i.e. before ~8.5 GB.
* If I select Linux from the boot menu, I get an error message that says "Windows XP could not load: The file hal.dll (windows/system32/) is missing or corrupt. Please reinstall.
* This is usually caused by an error in the boot.ini file. If you are unable to find and fix the error, check out Kelly Theriot's page that provides various methods for addressing the problem.
Acknowledgments
* Jimmy Andriambao: for recommending the link regarding hal.dll problems
* Leif Roger Kolberg: for creating a Norwegian translation of this page
* Dirk Goepfert: for creating a German translation of this page
* Fred van Lieshout: for creating a Dutch translation of this page
* Rostislav "Udo" Galicek: for creating a Czech translation of this page
* Arun Swami: for validating the dual-boot setup with multiple hard drives. Thanks Arun!
* Adrián I. Correa: for enthusiastically providing a Spanish translation of this page. Adrián said it best: "I love this wonder called The Internet!"
* Devesh Mistry: for pointing out the use of chroot /mnt/sys/mnt/syimage when in linux rescue mode
* Emmanuel Brun: for graciously providing a French translation of this page
* Jason Noll: for reporting the hal.dll problem resulting from error(s) in boot.ini
* Garth Patil: for helping to troubleshoot why GRUB was freezing and having a great sense of humor
* Piete Brooks: for pointing out that editing C:\boot.ini requires administrator-level privileges and providing the content for making the file editable using Explorer
* Paul Feehan: for providing the commands to make C:\boot.ini editable for Windows XP
* Jan Holm Jensen: for reporting that C:\boot.ini is a hidden system file
* Hampus Hedberg Hankell: for the following suggestion:
I think you should add help for users in despair that already have installed grub on mbr ,thus loosing the their ability to boot into windows xp. Procedure for this is ,boot from a windows start disc and do a fdisk /mbr At least then they can reach their windows and this time doing it right
* Mark Jordan: for verifying that this works on Windows XP and suggesting the content for copy to floppy
* Darryl Eaton: for introducting me to Red Hat Linux
courtsy-Ed B. Park
1
Thursday
Web Server Set Up - Dynamic or Static IP
This section is designed to detail the steps you may need to go through to setup a server on an ISP that only gives out a dynamic IP address. You will need to edit network configuration on your server by set it to statically and taking the ip number you've been assigned by your router (eg) - (192.168.0.2), subnet mask 255.255.255.0 and gateway 192.168.0.1, and use your isp nameservers ip's. The general approach is to use a dynamic ip address yet access your server via a domain name. This allows you and others to always reach your website from the outside even if the ip address changes regularly. Basically what needs to be done is to configure the apache configuration file httpd.conf for your dynamic IP.
You could access you site via your current ip address but since you have a dynamic ip, it may change every few days, weeks or months and you would have to tell everybody every time it changes. To avoid this mess, you can get your own domain name from a domain name registrar. Then sign up with a FREE dns service such as www.zoneedit.com and you can point your domain to your ip. That way if the ip changes, you can change it in a couple minutes and none of your users will have to change anything because they will be using your domain name. Now, when you type http://yourDomain.tld into a browser Zoneedit.com does the DNS lookup and redirects to your current cable/DSL IP address on your chosen non-80 http port.
1. The hardware configuration - The following example is based upon the popular Linksys cable/DSL router.
1. Using the Linksys web interface, go to Advanced | Forwarding | UPnP Forwarding
2. In the "Application Name" column, make up a label/name (I chose: zoneeditDNS).
3. In the Ext.Port column, enter your chosen non-80 http port (e.g.most choose port 8080).
4. Verify that the TCP (not UDP) radio button is clicked.
5. Enter 80 in the Int.Port column (i.e. Now that you’re inside your own firewall, you can redirect the port back to 80, on which your web server is probably listening).
6. In the IP Address column, put the 192.168.0.2 number for your web server PC.
7. Click enable ... and you’re done!
Now, when type http://yourDomain.tld into a browser Zoneedit.com does the DNS lookup and redirects to your current cable/DSL IP address on your chosen non-80 http port. Your Linksys router Forwards your chosen non-80 http port to your specified web server PC IP address, back on port 80, once inside the router firewall. Your (e.g. Apache httpd) web server is listening on port 80 or 8080, as it normally expects to receive web request!
2. IP addressing - The Linksys assumes a default of 192.168.0.1 for its LAN (internal) address keep it at that default. The WAN (external) address is, of course, assigned by your ISP.
Assume that the server you want to make available sits at 192.168.0.2. Configure your machine to have a static address - it will always be 192.168.0.2. Remember, it's the external name we're really concerned about.(the current ip from your isp)
3. The domain - I registered my domain through http://www.godaddy.com/. You can get it from anybody you want, but this is who I happened to use.
4. DNS Hosting - The next step is to register your domain with an external dynamic DNS provider. I chose http://www.zoneedit.com/. Again, there are other providers for this service, but zoneedit.com doesn't charge anything for what we're trying to do here.
Once you register your domain, zoneedit.com will give you 2 IP addresses for your authoritative nameservers. Write down these 2 addresses, go back to your domain name registrar, and update your dns/nameserver information. Once this propogates through the systems, you'll be able to make all the DNS changes you need at zoneedit.com.(usually takes 24-48 hours)
5. The dynamic updates - At zoneedit.com, you'll find a tool called zoneclient. What zoneclient does is connect to the Linksys router and extract the current WAN address. With the WAN address, it then updates your entry at zoneedit.com if it has changed since the last time it was updated. You could run zoneclient every few minutes via cron job if you wanted. If the WAN address has not changed, it doesn't do anything.
6. Now it's time to configure Apache to use virtual hosting. The key thing to remember here is that your server now has a static address, so you'll use name-based virtual hosts. Here's an example.
REDHAT 8.0 and 9.0 httpd.conf
Listen 80
NameVirtualHost *
NameVirtualHost 192.168.0.2:*
DocumentRoot /home/yourname/www
ServerName www.bogus25.com
ServerAlias bogus25.com
DocumentRoot /home/yourotherdomain/www
ServerName www.yourotherdomain.com
ServerAlias yourotherdomain.com
REDHAT 7.3 httpd.conf
BindAddress *
Listen *:80
Port 80
NameVirtualHost *
NameVirtualHost 192.168.0.2:*
DocumentRoot /home/yourname/www
ServerName www.bogus25.com
ServerAlias bogus25.com
DocumentRoot /home/yourotherdomain/www
ServerName www.yourotherdomain.com
ServerAlias yourotherdomain.com
Note: Creating virtual host configurations on your Apache server does not automatically cause DNS entries to be created for those host names. You must have a domain name and you must have the names in DNS, resolving to your IP address, or nobody else will be able to see your web site. This is where a dns service like zoneedit.com or another provider is required.
Apache Web Server configuration for Redhat 7.3, 8.0 and 9.0 with Static ip to router.
If you are behind a firewall/router, and you are the administrator on a machine behind the firewall as well, then you may find problems when trying to access www.mysite1.com of www.mysite2.com. This is that due to NAT (Network Address translation), firewalls frequently won't allow access from their protected network to IP addresses that they masquerade on the outside.
For example, in this case, your test web server ns1.bogus25.com has an internal IP address of 192.168.1.100, but the firewall/router presents it to the world with an external IP address of 72.54.96.127 via NAT/masquerading. If you are on the inside, 192.168.1.0 network, you may find it impossible to hit URLs that resolve in DNS to 97.158.253.26.
The solution to this can also be solved with virtual hosting. You can configure Apache to serve the correct content when accessing www.mysite.com or www.my-other-site.com from the outside, and also when accessing the specific IP address 192.168.1.100 from the inside.
1. You will then set up you network configuration on your server using a static ip addresses on the LAN side. Just take the ip number you've been assigned by your router (eg) - (192.168.0.2), subnet mask 255.255.255.0 and gateway 192.168.0.1, edit network configuration on your server and set it to statically set ip address and fill in the blanks.
REDHAT 8.0 and 9.0 httpd.conf
Listen 80
ServerName ns1.bogus25.com:80
NameVirtualHost 192.168.0.2
# Virtual host bogus25.com
DocumentRoot /home/bogus25/www/
ServerAdmin support@bogus25.com
ServerName bogus25.com
ServerAlias www.bogus25.com
REDHAT 7.3 httpd.conf
ServerAdmin support@bogus25.com
Listen *:80
Port 80
ServerName ns1.bogus25.com
NameVirtualHost 192.168.0.2
# Virtual host bogus25.com
DocumentRoot /home/bogus25/www/
ServerAdmin support@bogus25.com
ServerName bogus25.com
ServerAlias www.bogus25.com
Note: Creating virtual host configurations on your Apache server does not automatically cause DNS entries to be created for those host names. You must have a domain name and you must have the names in DNS, resolving to your IP address, or nobody else will be able to see your web site. This is where a dns service like zoneedit.com or another provider is required.
courtsy: bytes.com
Tuesday
IBM working on making the web talk to you
The IT giant, however, wants this web to work on cellphones rather than a personal computer (PC), since mobile devices dramatically outnumber PCs -- over 335 million cellphones versus below 30 million PCs in India alone. Moreover, IBM's Institute for Business Value predicts the number of mobile web users worldwide will reach one billion by 2011.
The concept is gathering steam with a project named "Spoken Web" that is being led by IBM's India Research Laboratory (IRL) team, and also being incubated in IBM's eight global labs in six countries. In fact, the corporation recently completed a pilot in Andhra Pradesh to implement the concept.
"The project was very successful. It started out with around 100 villagers but many hundreds joined later after seeing the response," Guruduth Banavar, director, IBM India Research Laboratory (IRL), told Business Standard.
The reason for this enthusiasm, he said, is simple. "Most people do not have a PC. Even smartphones are far and few. Besides, most people, especially the semi-literate kind, are not comfortable using a visual interface. But what most of the Indian population can do is talk. So the spoken web project makes immense sense." he added.
The spoken web works like the World Wide Web. Just as the web is a collection of websites, the spoken web is a network of voice sites or interconnected voice applications. These voice sites are accessed through a telephone over an audio channel. Callers can create their own voice sites or access those of others. The calls are routed through a telecom operator.
A semi-literate plumber, for instance, can create his voice site by calling a dedicated phone number. The IBM solution guides the plumber (in his local language) through a voice-driven interface, prompting for inputs whenever necessary. The plumber provides basic information about himself, such as his service description, working hours, etc. He does not understand how the system enables this, but selects the option through a voice-prompted "yes". He then gets a message stating his phone has been enabled with a voice site.
Local citizens in the area who encounter a plumbing problem simply use the telephone directory or an online yellow pages service to locate plumbers in the vicinity. If the plumber is busy, the call gets routed to the voice site, which presents a voice prompt, stating that the plumber is busy currently and provides the caller with an option of scheduling an appointment.
A fisherman, on the other hand, can create his own voice site that has information and pricing of fish available with him. He can further link his voice site to a payment gateway voicesite to enable transactions. Villagers can call his voice site and order fish and make payments, while the fisherman is busy fishing in nearby waters.
To manage these transfers, IBM has developed a new protocol, Hyperspeech Transfer Protocol (HSTP), which is similar to the Hypertext Transfer Protocol (HTTP) that the web uses to help people move from one website to another. IBM's IRL team is also working on a simple audio browser to make surfing voice sites possible, and creating a true internet. The browser can also be implemented on the device itself, but that would require speech recognition support on the device.
The possibilities are endless, notes Banavar. Fishermen need weather information before heading out to sea; farmers need to look up commodity prices; plumbers can schedule appointments, set up transfers to partners, use advertisements; and grocery shops can display catalogues, offer order placement and display personalised targeted advertisements or reminders.
Such locally-relevant information is not available for a majority of the world's population. Computer access, he adds, is not enough because there is a need to know what to look for, how to access it and how to use it.
courtsy: rediff.com [Leslie D'Monte]
Wednesday
URL Masking (cloaking)
For example a CJ link for eBay would look like this:
http://rover.ebay.com/rover/1/711-1751-2978-328/1?aid=10366506&pid=123456
But to cloak it you would make it look like this:
http://www.money-code.com/ebay
For this example we'll use Apache's module called mod_rewrite. Almost all installs of Apache have this installed, but some may not, so you'll need to verify this. Also, this will need to be managed via a .htaccess file. This is another option that might not be available for you. Sometimes, some hosts will not give you the ability to manage mod_rewrite directives within .htaccess, so you'll need to check here as well.
Simply create a file called .htaccess in the root of your site. Next we need to add our rewrite rule and action. Rewrite uses regular expressions, so you can get pretty tricky if you want, this example will be as simple as it can get.
RewriteEngine on
RewriteRule ebay$ http://www.ebay.com [QSA,L]
Basically, we're turned on the 'engine'. Our rule is ebay$ which means after the site name (www.money-code.com/) it'll look for ebay and has to end at ebay. Meaning if we did this: http://www.money-code.com/ebay/ it won't work... only http://www.money-code.com/ebay
Another directive you may need depending on your set up is RewriteBase, this primarily is used if you have your applicaiton in a subdirectory to start with, etc.
If you're not familiar with regular expressions, you should stop now and buy this book (Mastering Regular Expressions). RegEx will come in handy in the future! I basically can't go a day without using some form of RegEx.
The second part of the line is a redirect destination. There are some flags at the end [QSA,L] which is [Q]uery [S]tring [A]ppend, [L]ast. We want to append any querystring data, and we want to close with this being the last rule.
Now, we're not done. We need to do a few other things. Our anchor link will need the following attribute
rel="nofollow"
This tells the robots that items at the end of this destination is not relevant to the site and to not follow. Unfortunately, spiders will still follow this, but we have one more simple technique. We drop a robots.txt file in the root and add the following:
User-agent: *
Disallow: /ebay
Now, 'good' robots will pay attention to that and not follow the link.
Another option is to use PHP. You could create a link to point to the following:
http://www.money-code.com/ebay.php
ebay.php would contain the following code:
header("Location:http://rover.ebay.com/rover/1/711-1751-2978-328/1?aid=10366506&pid=123456");
exit();
?>
This accomplishes the same thing, but at the code level vs. server directive.
URL Masking With Page Retrieval Software
This is software that retrieves a web page and then displays it in the browser.
PHP or SSI (in conjunction with a CGI program) can be used. Other programming languages can be used, also, like ASP.
With PHP, the program code is generally right in the web page source code. With SSI, the SSI tag calls an external program to fetch the web page.
The code on the PHP/SSI web page retrieves the remote web page, inserts a base URL tag into the retrieved web page source code, then displays the contents of the retrieved web page. The URL in the browser's address bar does not change.
You end up with the contents of a web page in the browser window that is located at a URL different than the URL in the browser's address bar. The web page originally loaded into the browser and the web page retrieved from elsewhere may be on different domains.
There are no visual clues that the web page being displayed is not at the URL in the browser's address bar unless the web page being displayed itself contains clues.
Here is how to do it using PHP.
Create a PHP web page that loads the target web page and displays it.
Make a web page with the following code. Change the URL in the second line of the code to the URL of the web page to be displayed in the browser.
Put only the above into the web page. Use no HTML or BODY or other normal web page tags except as coded above.
Upload the PHP web page to your server. Load the PHP web page into your browser.
You'll notice that the URL of the PHP web page is in your browser's address bar even while a different web page, the one you specified in the second line of the above code, is displayed in the browser window.
That's the simplicity of URL masking with page retrieval software.
Preventing URL Masking With Page Retrieval Software
Put this JavaScript code somewhere in the web page to be protected will break the web page out of frames and put its own URL into the browser's address bar.
On the second line of the above code, type the domain name of the web page to be protected. Just the domain name, not including http:// or www.
On the third line of the above code, type the URL of the web page where the browser is to be redirected to if it is displayed with URL masking by page retrieval software. This redirect URL might be the URL of the web page that is being masked or it might be the URL of some other web page, one with a "don't steal content" message, for example.
URL Masking
There can be good reasons to use URL masking. And it can be misused.
Here, you learned how to do it and also how to protect your web pages from unauthorized masking.
If your response inadvertently gets sent before you were ready, simply continue your message in the newly cleared box. When we receive the parts, we'll put them together for a complete response.
Your response is anonymous. If you desire a personal reply from us (which we are glad to give), then your contact email address must be included.
Question: Did you find this article interesting and understandable? How can it be improved? Your response is anonymous. When done typing, click anywhere outside the box.
If your response inadvertently gets sent before you were ready, simply continue your message in the newly cleared box. When we receive the parts, we\'ll put them together for a complete response.
Your response is anonymous. If you desire a personal reply from us (which we are glad to give), then your contact email address must be included.
')" style="white-space: nowrap; cursor: pointer; color: rgb(0, 81, 114); font-weight: bold;">[more info]
URL Masking With Apache rewrite
Rewriting URLs in a certain way with the .htaccess file can display web pages from a URL different than the URL in the browser's address bar. However, both the URL in the address bar and the web page being viewed must be located on the same domain as the .htaccess file.
There are no visual clues that the web page being displayed is not at the URL in the browser's address bar unless the web page being displayed itself contains clues.
There are many nuances to consider when writing URL redirect lines for the .htaccess file. Consider testing with an .htaccess file in an otherwise unused subdirectory before going live.
Here is a simple directive that will rewrite all URLs for any documents in the /free directory so the /paid/index.html will display, instead. The URL in the browser's address bar will be the original URL to a document in the /free directory. Yet, web page /paid/index.html is being viewed.
If the web page being viewed is at a domain different than where the .htaccess file is located, the URL in the browser's address bar will change.
Probably the most authoritative reference for URL rewriting is the "URL Rewriting Guide" at the apache.org site. Other web sites also have tutorials and guides, some of which may be easier to learn from than apache.org's guide. To get a list, do a search for:
"URL rewrite" +tutorial
Beyond Spot-Checking: Why LLM Applications Require Specialized Evaluation
images generated by meta ai Building applications with Large Language Models (LLMs) feels deceptively fast at first. A single engineer can...
-
gemini generated A self-contained Raspberry Pi surveillance system that: ...
-
generated by meta ai The integration of Generative AI (GenA...
-
Executive Summary An adjunct professor advocates embracing AI in classrooms over prohibition, using historical examples of replaced skills...