Forum Moderators: phranque
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/example/
RewriteCond %{REQUEST_URI} !^/example2/sub-folder/(\d+)/
RewriteCond %{REQUEST_URI} !^/example2/(sub1|sub2|sub3)/.+
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN WordPress
#
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !/index\.php$
RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|css|js|xml|png|ico|pdf|doc|flv|wmv|avi|mp3)$
RewriteCond %{REQUEST_URI} !^/(example/|example2/sub-folder/[0-9]+/|example2/(sub1|sub2|sub3)/.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
#
# END WordPress
RewriteRule ^example/sub-folder/([0-9]+)/*$ example/sub-folder/?id=$1 [L]
RewriteRule ^example/(sub1|sub2|sub3)/([0-9]+)/([a-zA-Z]+).*$ example/$1/?page=$2&sort=$3 [R=301,L]
RewriteRule ^example/(sub1|sub2|sub3)/1/$ example/$1/ [R=301,L]
RewriteRule ^example/(sub1|sub2|sub3)/([0-9]+).*$ example/$1/?page=$2 [L]
# Clean url for product page
RewriteRule ^example/sub-folder/([0-9]+)/*$ example/sub-folder/?id=$1 [L]
# Category Sorting
# Clean urls broke when sorting due to wp 404 handling
# Haven't tested with preserving the clean urls since changing the code order as per post 2
RewriteRule ^example/(sub1|sub2|sub3)/([0-9]+)/([a-zA-Z]+).*$ example/$1/?page=$2&sort=$3 [R=301,L]
# Remove page reference when on page 1 of a category
RewriteRule ^example/(sub1|sub2|sub3)/1/$ example/$1/ [R=301,L]
# Clean URL for category pages
RewriteRule ^example/(sub1|sub2|sub3)/([0-9]+).*$ example/$1/?page=$2 [L]
RewriteRule ^example/sub-folder/([0-9]+)/$ example/sub-folder/?id=$1 [L]
RewriteRule ^example/(sub1|sub2|sub3)/([0-9]+)/([a-zA-Z]+)/$ example/$1/?page=$2&sort=$3 [R=301,L]
RewriteRule ^example/(sub1|sub2|sub3)/1/$ example/$1/ [R=301,L]
RewriteRule ^example/(sub1|sub2|sub3)/([0-9]+)/$ example/$1/?page=$2 [L]
# Space between http:// and domain doesn't appear in file
RewriteRule ^example/(cat1|cat2|cat2)/([0-9]+)/([a-zA-Z]+)/$ http:// original-domain.com/example/$1/?page=$2&sort=$3 [R=301,L]
RewriteRule ^example/(cat1|cat2|cat2)/1/$ http:// original-domain.com/example/$1/ [R=301,L]
RewriteRule ^example/(cat1|cat2|cat2)/([0-9]+)/$ example/$1/?page=$2 [L]
RewriteRule ^example/product-page/([0-9]+)/$ example/product-page/?id=$1 [L]