[wp-hackers] mod_rewrite help
Bryan Harley
bryanharley at gmail.com
Sun Jul 19 06:13:57 UTC 2009
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
>
More information about the wp-hackers
mailing list