[wp-hackers] mod_rewrite help
Mike Schinkel
mikeschinkel at newclarity.net
Sun Jul 19 06:23:37 UTC 2009
From your earlier email I was following your requirement of different
IDs embedded in the URL paths for Joomla and for WordPress. But your
solution is better. Good deal.
-Mike Schinkel
WordPress Custom Plugins
http://mikeschinkel.com/custom-wordpress-plugins/
On Jul 19, 2009, at 2:13 AM, Bryan Harley wrote:
> Thanks Mike! I actually figured out the mod_rewrite rule and it works
> perfectly! If anyone is interested this is how I did it...
>
> RewriteRule ^category/([0-9]+)-([a-zA-Z0-9-]+).html$ /$2
> [R=301,L,NC]
>
> And of course I changed "category" to the name of the category, and
> repeated for each category.
>
> I've been a loyal WordPress user since 2002. :) This was for a
> client project, moving from Joomla to WordPress. I'm glad they saw
> the light.
>
>
> On Sat, Jul 18, 2009 at 10:29 PM, Mike
> Schinkel<mikeschinkel at newclarity.net> wrote:
>> Oops, that one line should have been ($path, not $$path):
>>
>> header('Location:' . $url_paths[$path],true,301);
>>
>> -Mike Schinkel
>> Custom Wordpress Plugins
>> http://mikeschinkel.com/custom-wordpress-plugins
>>
>> ----- Original Message -----
>> From: "Mike Schinkel" <mikeschinkel at newclarity.net>
>> To: wp-hackers at lists.automattic.com
>> Sent: Sunday, July 19, 2009 1:26:17 AM GMT -05:00 US/Canada Eastern
>> Subject: Re: [wp-hackers] mod_rewrite help
>>
>> Bryan,
>>
>> Since you have a one-time conversion you could write an add-hoc
>> plugin, or maybe even add the code to your theme's functions.php
>> file and hook "template_redirect"[1] something like this:
>>
>> add_action('template_redirect','joomla_url_fix');
>> function joomla_url_fix() {
>> $path = $_SERVER['REQUEST_URI'];
>> if (preg_match('#^/category/([^-]+)-([^.]+).html$#',$path)) {
>> $url_paths = array();
>> // Do one line of these for each of your Joomla URLs
>> $url_paths['{joomla_url_path}'] = '{wordpress_url_path}';
>> //...
>> if (isset($url_paths[$path])) {
>> header('Location:' . $url_paths[$$path],true,301);
>> exit();
>> }
>> }
>> }
>>
>> Of course replace {joomla_url_path} and {wordpress_url_path} with
>> the matching URL paths from Joomla and WordPress. Also, I didn't
>> test this code so not sure if the RegEx works or that there's not
>> another bug in it, but hopefully you know enough PHP to get the
>> picture?
>>
>> Hope this helps. BTW, congrats on graduating from Joomla to
>> WordPress. :)
>>
>> -Mike Schinkel
>> Custom Wordpress Plugins
>> http://mikeschinkel.com/custom-wordpress-plugins
>>
>> [1] You can out in functions.php in your theme if it is loaded
>> before "template_redirect", but I'm not sure it is.
>>
>> ----- Original Message -----
>> From: "Bryan Harley" <bryanharley at gmail.com>
>> To: wp-hackers at lists.automattic.com
>> Sent: Sunday, July 19, 2009 12:54:01 AM GMT -05:00 US/Canada Eastern
>> Subject: Re: [wp-hackers] mod_rewrite help
>>
>> Thanks scribu, but that's not working for me. And I know exactly
>> why...
>>
>> My old permalink structure: /category/post_id-postname.html
>> My new permalink structure: /category/post_id/postname/
>>
>> The problem is the old permalink structure is from Joomla. Since I
>> converted the site to WordPress, it's obviously using different ID's
>> for each post. Other than that it would work. This is why I was
>> pretty sure I'd have to write a mod_rewrite rule rather than just a
>> plugin.
>>
>> Any ideas?
>>
>> Is there anyway to view the mod_rewrite rule that Dean's Permalink
>> Migration Plugin generates? If so, I'm pretty sure I could modify it
>> to make it work.
>>
>>
>>
>> On Fri, Jul 17, 2009 at 3:31 AM, scribu<scribu at gmail.com> wrote:
>>> Actually, I think you need this plugin:
>>>
>>> http://www.deanlee.cn/wordpress/permalinks-migration-plugin/
>>>
>>> It works great on my site.
>>>
>>>
>>> On Fri, Jul 17, 2009 at 2:36 AM, James Collins <james at om4.com.au>
>>> wrote:
>>>
>>>> Hi Bryan,
>>>> I would use the redirection plugin (
>>>> http://wordpress.org/extend/plugins/redirection/) to achieve this.
>>>>
>>>> Much easier than modifying your .htaccess file.
>>>>
>>>> Regards,
>>>>
>>>> James Collins
>>>>
>>>> OM4 - Website Design and Development
>>>> OM4.com.au | OM4Tourism.com
>>>>
>>>>
>>>>
>>>> 2009/7/17 Bryan Harley <bryanharley at gmail.com>
>>>>
>>>>> I have one type of URL that I want to 301 redirect to another.
>>>>> Can
>>>>> anyone help me write the mod_rewrite rule that can accomplish
>>>>> this?
>>>>>
>>>>> http://www.domain.com/category/postid-post-name.html
>>>>>
>>>>> http://www.domain.com/post-name/
>>>>> _______________________________________________
>>>>> wp-hackers mailing list
>>>>> wp-hackers at lists.automattic.com
>>>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>>>
>>>> _______________________________________________
>>>> wp-hackers mailing list
>>>> wp-hackers at lists.automattic.com
>>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>>
>>>
>>>
>>>
>>> --
>>> http://scribu.net
>>> _______________________________________________
>>> wp-hackers mailing list
>>> wp-hackers at lists.automattic.com
>>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>>
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>> _______________________________________________
>> wp-hackers mailing list
>> wp-hackers at lists.automattic.com
>> http://lists.automattic.com/mailman/listinfo/wp-hackers
>>
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
More information about the wp-hackers
mailing list