AWS:MRT (Abyss Web Server: Mod Rewrite Translator)

 
Post new topic   Reply to topic    Aprelium Forum Index -> URL Rewriting
View previous topic :: View next topic  
Author Message
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Thu Aug 07, 2008 1:56 am    Post subject: AWS:MRT (Abyss Web Server: Mod Rewrite Translator) Reply with quote

Abyss Web Server: Mod Rewrite Translator

I'm proud to announce the official release of AWS:MRT 1.0. The beta testing for the 1.0 version is over! Please report any bugs that you might encounter so that they can be fixed in the next version. I've done all the tests that I could to make sure this script is 100% stable so that you don't have to, but if you find any typos or bugs, please report them. If you like this script, please make a donation. You can find a donate button on my website. A lot of work has gone into this project, and I would appreciate a donation if you can. This script is of course free. Enjoy! ;-)

NOTE: AWS:MRT 1.0 was released on March 16, 2009
NOTE: AWS:MRT 1.0 beta 4 was released on March 6, 2009
NOTE: AWS:MRT 1.0 beta 3 was released on February 17, 2009
NOTE: AWS:MRT 1.0 beta 2 was released on September 15, 2008
NOTE: AWS:MRT 1.0 beta 1 was released on September 12, 2008

AWS:MRT (Abyss's first Mod Rewrite Translator)
Download v1.0 now! [11.77 KB] (Requires PHP).

Try before you download!
http://www.trustabyss.com/aws_mrt/


Screenshot (AWS:MRT 1.0):


UPDATE (August 12, 2016): Seven days after posting my previous post, my company at TaxSlayer terminated my employment for no given reason. Fortunately, my previous company rehired me but this has caused a delay on my projects due to the new time constraints brought on by my schedule. My shift is hopefully about to change to provide a 3 day weekend to resume development on these projects. Just the job loss of being a programmer has taken a toll on my motivation. I hope to continue development soon. Life has its moments.

UPDATE (April 07, 2016): After a very long hiatus of almost 3 years, I am pleased to announce that AWS:MRT 2.0 is in development! Life has been busy since then but I finally got the strength and motivation to push this project back in development. I cannot apologize enough for how long this project has been put on hold. Perhaps these new features that will be available will help? ;)

Features announced for version 2.0
+ Save translated data to a copy of Abyss's configuration file
+ Browse server's document root manually for an htaccess file
or a specific folder
+ Real-time translation of text input. Paste the contents of an htaccess
file directly in your browser and see the results!
+ Password protection using Abyss's configuration of user accounts. Why create an account when it's already there!?
+ A new graphical interface
+ Open source! Script will no longer be obfuscated.
+ parseModRewrite() function will no longer use a complicated multi-dimensional array but instead return a URLRewrite object, making it easier to use.

Please note that login will not be necessary for just pasting the contents of an htaccess file, but the features of browsing for files and saving to abyss's config will require authentication.

ETA for AWS:MRT 2.0 will be set for early Fall 2016. Beta versions will hopefully be ready by mid summer. It is hard to make an exact timeframe on when this beast will be ready. I will make an effort to work on this project every day after work and also on the weekends. Last but not least, the 1.1 version was skipped due to the extended time it took to get this thing back in action. It's time for a major release!

UPDATE (July 15th, 2013): The parseModRewrite function has been entirely rewritten to support escaped white space and both double and single quoted expressions. In addition, it is more strict when it comes to its parsing. If it finds any unsupported Mod Rewrite syntax, it will return a boolean false since Abyss does not support it. In other news, AWS:MRT is back in development!

Update (March 16th, 2009): The official release of AWS:MRT 1.0 is available. See the changes.txt file for more information (located in the aws_mrt folder).

Update (March 6th, 2009): AWS:MRT 1.0 Beta 4 is now available. This new beta fixes minor problems from the previous release and adds some extra nice features. See the changes.txt file for more information (located in the aws_mrt folder).

Update (February 17th, 2009): AWS:MRT 1.0 Beta 3 is now available. This new beta fixes problems from the previous release and adds some extra nice features. See the changes.txt file for more information (located in the aws_mrt folder).

Update (September 11th, 2008): Guess what? It's Finished! I'm proud to announce that the AWS:MRT project is complete. After working on it for over 3 weeks, it's finally here! I still have to get it packaged so give me until tomorrow to release it to you guys. I have a lot of things to do today and I just don't have the time to release it yet. Aside from that news, I also added a new feature to the parseModRewrite() function to tell you which line a RewriteRule or RewriteCond is on. This new feature can be useful for error checking. I apologize for not being able to release the code today. I will have it ready tomorrow. :-)

Update (September 8th, 2008): After working on the AWS:MRT project today, I can proudly say that it can translate an entire RewriteRule. However, I still need to program it for Rewrite Conditions. I'm very proud how far I've gone with this project and it will be available probably after this week or late this week. I have some things to do in college before I can work on the rest of this project. I will let you guys know when it can translate everything. So far so good! ;-)

Update (September 6th, 2008): I'm currently writing a new algorithm that will allow the translation of Rules and Conditions, even though they may not be able to be fully translated. This will allow the end user to make any modifications they need manually, such as the [OR] flag that cannot be done with the translator alone. Having such an option will allow you to translate part of the rules and conditions, instead of showing an error and stopping the translation altogether. I'm working around the clock to get this thing available to you guys as soon as possible. More news later.

Update (August 30th, 2008): Sorry for the delay of updates. I had to contact Aprelium for more information on Apache's Mod Rewrite engine before proceeding with development. I received an answer on Friday and development has been resumed. It seems as though Apache allows for multiple flags in a condition or rule, which I did not know before I heard from Aprelium. Now that I know this information, I will be able to continue development this weekend. I will keep you posted of new improvements as they become available.

Update (August 13th, 2008): 28 lines of code out the door! I rewrote some parts of the parseModRewrite() function and fixed a stupid mistake that I made that triggered a bug that would allow rules to inherit conditions from other rules. I created a powerful new regular expression that doesn't allow spaces in certain areas and has 100% accuracy. The condition that checks for flags is no longer needed, thus reducing the amount of code. Feel free to try the 100% stable parseModRewrite() function!

Note: If a Rule or Condition contains a space, it will safely be ignored because it's not valid Mod Rewrite syntax.

The AWS:MRT project will resume development this weekend.


Update (August 12th, 2008): I just tested Apache's Mod Rewrite engine, and I found out that Regexp, Replacement, and Flags cannot have white space. This isn't the case with Abyss Web Server, but because this translator reads Mod Rewrite directives, I will be creating a new regular expression that doesn't allow spaces in certain areas. The parseModRewrite() function will be updated to support this new code tomorrow.

Update (August 9th, 2008): Just when I thought I fixed all the bugs in the parseModRewrite() function, I didn't. One of the bugs was an improper regular expression that didn't detect the flags properly for both the conditions and rules. Another bug was that some conditions where shared between other rules, and some rules where shared between other rules; which wasn't the proper behavior. The last bug was that the function failed to detect an improper rule or condition when the syntax is incorrect. All bugs have been fixed and the function should be 100% stable. A total of 3 Bugs!

Development on the AWS:MRT project will resume August 11th.


Update (August 8th, 2008): I spent all day fixing a few bugs in the parseModRewrite() function. One of the most major was the RewriteBase not being applied to every rule. Another bug was that you cannot parse a flag if it has whitespace between it. All bugs have been fixed, as well as a new feature that I added that automatically assigns a RewriteBase depending on where your .htaccess file is located.

Update (August 7th, 2008): I have a prototype! It can translate a basic RewriteRule, append the RewriteBase path, and determine if you should uncheck "Case Sensitive" if needed. I've applied further code that will automatically assign a path based on where the .htaccess file is located. I've been coding all day and it's time to take a rest. I will continue more coding over the weekend.
_________________
Computer Programmer & Networking Specialist



Last edited by TRUSTAbyss on Fri Aug 12, 2016 2:14 pm; edited 94 times in total
Back to top View user's profile Send private message Visit poster's website MSN Messenger
rrinc
-


Joined: 24 Feb 2006
Posts: 725
Location: Arkansas, USA

PostPosted: Thu Aug 07, 2008 7:12 am    Post subject: Reply with quote

What are you writing it in? Are you writing this as a desktop app?
_________________
-Blake | New Server :D
SaveTheInternet
Soy hispanohablante. Puedes contactarme por mensajes privados.
Back to top View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Thu Aug 07, 2008 1:22 pm    Post subject: Reply with quote

Nope, it will be strictly PHP because I don't know C or C++ yet.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
loloyd
-


Joined: 03 Mar 2006
Posts: 435
Location: Philippines

PostPosted: Thu Aug 07, 2008 5:34 pm    Post subject: Reply with quote

This should be interesting. Actually I have nothing sensible to add, but I just wanted you to know that I subscribed to this important topic so that you won't get the impression that only a few people are interested in your efforts.
_________________

http://home.loloyd.com/ is online if the logo graphic at left is showing.
Back to top View user's profile Send private message Visit poster's website
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Mon Sep 08, 2008 9:45 pm    Post subject: Reply with quote

Just dropping a line to let you guys know that it can translate an entire RewriteRule. I'm still working on the Rewrite Conditions.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
rrinc
-


Joined: 24 Feb 2006
Posts: 725
Location: Arkansas, USA

PostPosted: Tue Sep 09, 2008 5:22 am    Post subject: Reply with quote

I hope this ends up working nicely and polished. I'm too lazy to learn rewrite syntax.
_________________
-Blake | New Server :D
SaveTheInternet
Soy hispanohablante. Puedes contactarme por mensajes privados.
Back to top View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Thu Sep 11, 2008 9:51 pm    Post subject: Reply with quote

Read the latest update for some good news! ;-)
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Sun Sep 14, 2008 5:03 am    Post subject: Reply with quote

I provided a screenshot of AWS:MRT for those who wish to see it before they download. Enjoy!
_________________
Computer Programmer & Networking Specialist



Last edited by TRUSTAbyss on Tue Sep 16, 2008 11:18 pm; edited 1 time in total
Back to top View user's profile Send private message Visit poster's website MSN Messenger
rrinc
-


Joined: 24 Feb 2006
Posts: 725
Location: Arkansas, USA

PostPosted: Sun Sep 14, 2008 10:13 pm    Post subject: Reply with quote

Cool. I definitely use it if I ever need it.
_________________
-Blake | New Server :D
SaveTheInternet
Soy hispanohablante. Puedes contactarme por mensajes privados.
Back to top View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Mon Sep 15, 2008 9:38 pm    Post subject: Reply with quote

AWS:MRT 1.0 beta 2 has just been released. This release fixes two problems that were found in the previous beta.

From the change log:
Quote:
Fixed a bug that caused certain errors to show up at the wrong time.

Created a condition to check if more time is needed for displaying the scanning message.
This gives you time to read the message while the scanning is taking place.

_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Fri Jan 23, 2009 11:01 pm    Post subject: Reply with quote

I apologize for the delay of the official release. I've been caught up with college and other things. Please let me know if something needs changed before the stable build is released next week.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Sun Feb 15, 2009 7:42 pm    Post subject: Reply with quote

A new beta will be ready this week because I found a bug before the official release. The new bug causes two forward slashes to be included in certain fields so this needs to be tested. I'm also testing the back references for the RewriteConds to see if they work properly. I promise you that I will have this beta ready on Monday.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
Lawrence
-


Joined: 16 Jan 2003
Posts: 207
Location: Brisbane, AU

PostPosted: Mon Feb 16, 2009 5:57 am    Post subject: Reply with quote

This is pretty awesome, good work.
Back to top View user's profile Send private message Visit poster's website ICQ Number
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Tue Feb 17, 2009 3:09 am    Post subject: Reply with quote

This release is taking longer than I thought. I spent all day fixing numerous things in this script and it's now 9:10 PM. Since it's too late for a release today, I will have it available early tomorrow (probably in the morning). The script is ready, but it's better to wait until tomorrow for a release date.
I apologize for the inconvenience this may have caused. I know I promised a release today, but I ran into many problems which caused the delay.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Tue Feb 17, 2009 8:06 pm    Post subject: Reply with quote

Lawrence wrote:
This is pretty awesome, good work.


Thanks!

The download link will be available this evening. Many thanks to everyone who's supportive of this project. I hope many people are using it to translate their htaccess files.

EDIT: The link is now available for download. Enjoy!
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Thu Feb 19, 2009 5:32 pm    Post subject: Reply with quote

A screenshot of the new 1.0 beta 3 is online. Sorry for the delay (college keeps me busy). A demo is also available.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
Moxxnixx
-


Joined: 21 Jun 2003
Posts: 1226
Location: Florida

PostPosted: Fri Feb 20, 2009 3:48 am    Post subject: Reply with quote

Hey TRUST,
I know I haven't replied to you about this script, but I was "silently" watching it's progress.

I must say I am indeed impressed with it.

Just one suggestion...
For future releases, I was wondering if you could have it "browse" first for the file and then "scan" it?
This would make this script a huge time-saver for ppl with multiple sites...eliminating the need to install
it in multiple directories.

Overall, excellent work. Congrats. ;)
Back to top View user's profile Send private message Visit poster's website
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Fri Feb 20, 2009 3:51 am    Post subject: Reply with quote

Are you talking about a built in file browser like Abyss Web Server's console? That sounds like a nice idea. I will add that feature to the to-do list. This feature will allow you to browse for an htaccess file or directory instead of manually specifying a path in the PHP file. You need to be aware of the fact that a remote user could see the directory names on your web server, but as far as the script is concerned, it only reads .htaccess or htaccess.txt files. Security shouldn't be a concern, only privacy.

Thanks for sharing! You will be credited for this.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
Moxxnixx
-


Joined: 21 Jun 2003
Posts: 1226
Location: Florida

PostPosted: Fri Feb 20, 2009 4:09 pm    Post subject: Reply with quote

TRUSTAbyss wrote:
You need to be aware of the fact that a remote user could see the directory names on your web server, but as far as the script is concerned, it only reads .htaccess or htaccess.txt files. Security shouldn't be a concern, only privacy.
True, if you make it like Abyss' file browser.

I was referring to an old-fashioned input box with a "browse" button next to it.
Using a simple form action with input type="file" would only accesses local files.
If a remote user opened the dialog, they would see their own computer, not mine.
Back to top View user's profile Send private message Visit poster's website
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Fri Feb 20, 2009 11:14 pm    Post subject: Reply with quote

So you're talking about uploading the htaccess file and then converting it? I don't think this would be a good idea. The only way for AWS:MRT to detect a virtual path without the RewriteBase, would be to use the document root of the web server. The user uploading could not translate the htaccess file without the presence of a RewriteBase inside of it. AWS:MRT automatically creates this RewriteBase type of path without the need for the RewriteBase directive. Without a document root, it won't work. The feature could not be implemented like this.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
Moxxnixx
-


Joined: 21 Jun 2003
Posts: 1226
Location: Florida

PostPosted: Sat Feb 21, 2009 3:09 am    Post subject: Reply with quote

Well then, I guess doing it like Abyss' file browser would be the best option.
Then we could just password protect it to restrict access.

Anyways, you've done a great job. :)
Back to top View user's profile Send private message Visit poster's website
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Sat Feb 21, 2009 5:42 am    Post subject: Reply with quote

Thanks Moxxnixx!

The file browser would only look inside the document root of the current website where AWS:MRT is installed. The best part about this is the option to browse for a directory inside the document root, instead of configuring the PHP file manually. You can choose a folder or htaccess file, which is a huge improvement and makes things more convenient. The best thing to do for those who wish to share an AWS:MRT installation, would be to setup an Alias for every virtual host to the folder where AWS:MRT is installed.

Thank you for the suggestions, the built in file/directory browser will be implemented in version 1.1. By the way, the next major version (2.0) may include a translate-to-abyss.conf feature. I'm sure you already know what that feature will be like.

Sincerely,
Joshua H. (TRUSTAbyss)
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
rrinc
-


Joined: 24 Feb 2006
Posts: 725
Location: Arkansas, USA

PostPosted: Sat Feb 21, 2009 6:41 am    Post subject: Reply with quote

File uploads may not be a good idea, but what about a text box to paste it into?
_________________
-Blake | New Server :D
SaveTheInternet
Soy hispanohablante. Puedes contactarme por mensajes privados.
Back to top View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Fri Mar 06, 2009 8:39 pm    Post subject: Reply with quote

AWS:MRT 1.0 Beta 4 is available. A screenshot and a demo is already available for this release. Enjoy!

NOTE: I noticed that in the first RewriteRule for the htaccess.txt file (included in the demo), a "Next Action" field is given when it's not supposed to. I don't know if it's the Mod Rewrite syntax that was used or my fault. This is a minor issue that you don't really need to worry about, but I will fix it for the official release. Here's the syntax that triggers the behavior:

Code:
RewriteRule ^(.+)$ /$1/ [R=301,L]


The "L" flag causes the "Next Action" field to show up when it's not supposed to. Abyss Web Server doesn't include this field when a status code is present. The translating is still valid, you just won't see the "Next Action" field when you configure Abyss's settings. This will be fixed for the official release.
_________________
Computer Programmer & Networking Specialist



Last edited by TRUSTAbyss on Fri Mar 06, 2009 11:21 pm; edited 1 time in total
Back to top View user's profile Send private message Visit poster's website MSN Messenger
anybody
-


Joined: 17 Mar 2008
Posts: 90

PostPosted: Fri Mar 06, 2009 10:59 pm    Post subject: Reply with quote

Ah, a new version!

Thank you, for your contribution!
Back to top View user's profile Send private message
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Fri Mar 06, 2009 11:27 pm    Post subject: Reply with quote

Your welcome, anybody!

I went through a lot of trial and error on this one. The official release will be ready soon.
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Mon Mar 16, 2009 10:59 pm    Post subject: Reply with quote

The official release of AWS:MRT 1.0 is available. The screenshot and demo have been updated for this release. Enjoy!
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
rrinc
-


Joined: 24 Feb 2006
Posts: 725
Location: Arkansas, USA

PostPosted: Sun Mar 22, 2009 5:12 am    Post subject: Reply with quote

I still think you should add a text box as an alternative to files or maybe upload (with the option to disable of course).
_________________
-Blake | New Server :D
SaveTheInternet
Soy hispanohablante. Puedes contactarme por mensajes privados.
Back to top View user's profile Send private message Visit poster's website Yahoo Messenger MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Mon Mar 23, 2009 5:26 am    Post subject: Reply with quote

rrinc wrote:
I still think you should add a text box as an alternative to files or maybe upload (with the option to disable of course).


I will fix that in version 1.1. ;-)
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Tue Jun 22, 2010 11:05 pm    Post subject: Reply with quote

Development on AWS:MRT 1.1 Soon!

I will start developing v1.1 probably around this week since I'm on my break. The new version will include a file/directory browser that will allow you to browse through the root of your website folder for htaccess files or directories and translate them. It will also allow you to limit access through the local host. After the official release of AWS:MRT 1.1, I will start developing v2.0. The next major version will include many new features. One of the new features that I'm excited about is the ability to allow you to copy the translated output to abyss's configuration; don't worry, it will be copied to a backup configuration that you can apply later. Another nice thing about v2.0 is that it will be completely AJAX capable. This means that even the file/directory browser will be AJAX. I look forward to starting on this project as soon as I release AWS:MRT 1.1.

More news in the coming weeks!

Sincerely, Joshua H. (TRUSTAbyss)
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Fri Jul 12, 2013 3:00 pm    Post subject: Reply with quote

Just to give you guys an update on the status of AWS:MRT, I rewrote the Regex to match the RewriteRule string so that it properly picks up escaped white space within the string. Example: RewriteRule a\ b c\ d [Flags] will now match and there is no longer a requirement to replace spaces with the Regex space character \s. This is a big improvement. I am still working on updating the parseModRewrite function to support these new Regular Expressions but I will post the new code when it is ready. I will also rewrite it so that it properly handles the RewriteCond strings that use the OR flag. A big change is on the way for this project!


UPDATE 10/21/2013: School is keeping me from getting any of my projects finished. Next semester will be easier since I will only be taking three courses instead of four. Unfortunately, development has come to a halt. What this means is that I am having trouble finding enough time to work on it. The good news is that the parser function has been written so the hard part is over. In the mean time, I will try and find some free time to work on this project.

UPDATE 08/23/2013: Hard to believe it's almost been a month since my last update. Anyway, development is on going but it is taking some time. I went back to College for a Programming degree so I am keeping myself busy. Hang in there.

UPDATE 07/27/2013: One more update to the parseModRewrite and I promise this will be the last. It turns out that the [R] flag is also used to report errors to the client. Unfortunately, the new regex only supported the range between 300 and 399. In light of this, I modified the regex to support codes between 300 and 999. AWS:MRT will decide what option the user should choose based on the code. So whether it's a regular redirect or error, it will handle it flawlessly. The new function code has been updated. Enjoy!

UPDATE 07/26/2013: The parseModRewrite function has been updated to improve the regex patterns and to fix a small bug that causes the wrong error code to show when RewriteBase contains a syntax error. It also limits the condition variable to word characters and checks to see if the redirect status code is between 300 and 399 if the R flag is used. A few small enhancements have also been added. Enjoy!

UPDATE 07/25/2013: Just when I thought the parseModRewrite function was completely ready, something had to go wrong. When a RewriteCond variable has quotes around it (possible, but unlikely), it will report a syntax error. I am fixing this right now. Also, I will remove the path fixing of the replacement URL since it should already have one when a RewriteRule is not preceded by a RewriteBase. Both bug fixes are on the way and the function will be ready by the end of the day. Hey, that rhymed!

UPDATE 07/24/2013: The parseModRewrite function has been updated to fix the path to the regex and replacement if necessary. The array has also been modified to remove the 'rule' index. It wasn't necessary. Take a look at the demo. This will be the final update to the parseModRewrite function. AWS:MRT is under full development!

UPDATE 07/23/2013: It turns out that the extra conditional patterns work with Abyss Web Server. I may or may not include a regex to check for these patterns since the function's job is to only to parse the Mod Rewrite information. It will ultimately be AWS:MRT that handles the majority of the work. The updated function will also correct paths in the regex for rules that are not preceded with a RewriteBase directive. AWS:MRT 1.0 already handles this job but I think it would be nice to hand that task over to the function. You can download the new function tomorrow.

UPDATE 07/22/2013: It turns out that Abyss supports extra conditional patterns that are not mentioned in the Mod Rewrite Conversion tutorial. The extra patterns are numerical comparison. I'm looking into this. Hang in there because development has already begun.

UPDATE 07/21/2013: I am pleased to announce the official release of the all new parseModRewrite function. AWS:MRT 2.0 development starts tomorrow! :D

Download the function from:
http://trustabyss.com/dev/php/functions/parseModRewrite.txt

[DEMO]
http://www.trustabyss.com/dev/php/functions/parseModRewrite.php
htaccess file: http://www.trustabyss.com/dev/php/functions/htaccess.txt

UPDATE 07/20/2013: The parseModRewrite function is near to its completion. When you see the source code, you will definitely be able to tell it's not the original code. The old function utilized 109 lines of code, and that included both the comments and PHP tags. The new function has 381 lines of code! That also includes the comments and PHP tags. This thing is a beast! Get ready for AWS:MRT 2.0 because it's on the way!

UPDATE 07/18/2013: The parseModRewrite function can now handle RewriteCond conditions that use the OR flag. It will attempt to combined them, and if it fails, it will let the user know. It took a lot of trial and error to get it right but it works flawlessly. It even handles start and end anchors. I hope to release the new function to you guys soon. It is still under development.

UPDATE 07/16/2013: The parseModRewrite function is in development
_________________
Computer Programmer & Networking Specialist



Last edited by TRUSTAbyss on Mon Oct 21, 2013 11:48 pm; edited 3 times in total
Back to top View user's profile Send private message Visit poster's website MSN Messenger
aprelium-support
-


Joined: 20 Feb 2009
Posts: 356

PostPosted: Wed Aug 07, 2013 4:16 pm    Post subject: Reply with quote

TRUSTAbyss,

That's great to see your progress on that project. Keep up the the good work ;)
_________________
Support Team
Aprelium - http://www.aprelium.com
Back to top View user's profile Send private message Visit poster's website
TRUSTAbyss
-


Joined: 29 Oct 2003
Posts: 3719
Location: USA, GA

PostPosted: Mon Mar 28, 2016 3:38 am    Post subject: Reply with quote

I just want to apologize for the lack of updates on this project. Development should be done at this point, but other things came up and prevented me from working on the project. AWS:MRT 2.0 will be released this year! The new features have not been announced yet but the parsing has definitely improved since the last release. The regex used to capture the pieces of information from the Apache Mod Rewrite file has been entirely rewritten. Stay tuned! ;)
_________________
Computer Programmer & Networking Specialist

Back to top View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Aprelium Forum Index -> URL Rewriting All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB phpBB Group