hackalive Posted January 28, 2013 Share Posted January 28, 2013 (edited) Hi guys, I have this htaccess code: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^([^/.]+)/?$ /redirects/$1.php [N] RewriteRule ^([^/.]+)/?$ /$1.php [L] RewriteRule ^([^/.]+)/([^/.]+)/?$ /$1/$2.php [L] It works a treat anything like mydomain.com/xyz that has a file in the folder mydomain.com/redirects/ calls the file in the redirects folder and lets me PHP 301 everyone. I now want it to work for mydomain.com/redirects/anyotherfoler/ so I tried: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^([^/.]+)/?$ /redirects/$1.php [N] RewriteRule ^([^/.]+)/([^/.]+)/?$ /redirects/$1/$2.php [N] RewriteRule ^([^/.]+)/?$ /$1.php [L] RewriteRule ^([^/.]+)/([^/.]+)/?$ /$1/$2.php [L] Which does redirect me, but RewriteRule ^([^/.]+)/([^/.]+)/?$ /redirects/$1/$2.php [N] still "powers on" and is called on the new url and I get an error of: Not Found The requested URL /redirects/folder/file.php was not found on this server. Apache/2.2.22 (Win32) DAV/2 PHP/5.4.0 Server at 10.0.0.1 Port 80 So any ideas why this is happening? I tried: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^([^/.]+)/?$ /redirects/$1.php [N] RewriteCond /redirects/%{REQUEST_FILENAME} !-f RewriteCond /redirects/%{REQUEST_FILENAME} !-d RewriteCond /redirects/%{REQUEST_FILENAME} !-l RewriteRule ^([^/.]+)/([^/.]+)/?$ /redirects/$1/$2.php [N] RewriteRule ^([^/.]+)/?$ /$1.php [L] RewriteRule ^([^/.]+)/([^/.]+)/?$ /$1/$2.php [L] But it didn't help. So any ideas? Cheers PS This does not work either - same error: RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^([^/.]+)/?$ /redirects/$1.php [N] RewriteCond {DOCUMENT_ROOT}/redirects/%{REQUEST_FILENAME} !-f RewriteCond {DOCUMENT_ROOT}/redirects/%{REQUEST_FILENAME} !-d RewriteCond {DOCUMENT_ROOT}/redirects/%{REQUEST_FILENAME}" !-l RewriteRule ^([^/.]+)/([^/.]+)/?$ /redirects/$1/$2.php [N] RewriteRule ^([^/.]+)/?$ /$1.php [L] RewriteRule ^([^/.]+)/([^/.]+)/?$ /$1/$2.php [L] Edited January 28, 2013 by hackalive Quote Link to comment https://forums.phpfreaks.com/topic/273725-not-working/ Share on other sites More sharing options...
hackalive Posted January 28, 2013 Author Share Posted January 28, 2013 I think this is the solution RewriteEngine On RewriteCond %{REQUEST_FILENAME}.php !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/.]+)/?$ /redirects/$1.php [N] RewriteCond %{DOCUMENT_ROOT}/redirects/%{REQUEST_FILENAME}.php !-f RewriteCond %{DOCUMENT_ROOT}/redirects/%{REQUEST_FILENAME} !-d RewriteRule ^/redirects/([^/.]+)/([^/.]+)/?$ /redirects/$1/$2.php [N] RewriteRule ^([^/.]+)/?$ /$1.php [L] RewriteRule ^([^/.]+)/([^/.]+)/?$ /$1/$2.php [L] Any comments on it? Quote Link to comment https://forums.phpfreaks.com/topic/273725-not-working/#findComment-1408701 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.