dil_bert Posted May 25, 2020 Share Posted May 25, 2020 (edited) hi there - good day dear experts This is the .htaccess code for permalinks in WordPress. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> we have the following ingrediences: -f and -d part means to give real directories and files higher priority. how it works: ^index\.php$ - [L] prevents requests for index.php from being rewritten, to avoid an unnecessary file system check. If the request is for index.php the directive does nothing - and stops processing rules [L]. This following block is all one single rule: this rule says that if it is not a real file and not a real directory, reroute the request to index.php. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] well - the index.php itself interprets the URL that was requested by the client-machine (since PHP can see the requested URL using $_SERVER['REQUEST_URI']) and it calls the correct code for rendering the page the user requested. and now to the issue of today: i want to do this for using to redirect HTTP to HTTPs with mydomain - what kind of htaccess do i need to run? what is wanted: i want to do this for using to redirect HTTP to HTTPs with https://www.mydomain.com and https://mydomain.com/ and http://mydomain.com - what kind of htaccess do i need to run With my current .htaccess, this is what happens: https://www.mydomain.com/ - i need this https://mydomain.com/ -i need this that subsequently redirects to the above which would be great , it should redirect to the https version: note: i all way thought that i need to have a new /(and extra vhost to do this) http://www.mydomain.com/ http://mydomain.com/ Here is the .htaccess: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # BEGIN WordPress RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> again: what is wanted: i want to have a redirect that helps in each time & situation With my current .htaccess, https://www.mydomain.com/ - i need this https://mydomain.com/ -i need this that subsequently redirects to the above which would be great what is aimed: all options should load fine, it should redirect to the https version: note: i allways thought that i need to have a new /(and extra vhost to do this). but perhaps i do not need a second vhost!? Perhaps i can do it with .htaccess too!? http://www.mydomain.com/http://mydomain.com/ can you help out here..!? Edited May 25, 2020 by dil_bert Link to comment https://forums.phpfreaks.com/topic/310847-use-htaccess-file-to-redirect-all-requests-possible-http-to-https-etc/ Share on other sites More sharing options...
requinix Posted May 25, 2020 Share Posted May 25, 2020 3 hours ago, dil_bert said: can you help out here..!? FFS dil_bert. This is one of the most requested mod_rewrite things in existence. Do you know what I'm going to say next? I honestly don't know if you do. Google it. 1 Link to comment https://forums.phpfreaks.com/topic/310847-use-htaccess-file-to-redirect-all-requests-possible-http-to-https-etc/#findComment-1578392 Share on other sites More sharing options...
gizmola Posted May 25, 2020 Share Posted May 25, 2020 Here's a really good article about this issue (and other related ones you might not have though about either: https://www.danielmorell.com/guides/htaccess-seo/redirects/https-www-and-trailing-slash For example another related problem: https://www.mysite.com/foo/bar and https://www.mysite.com/foo/bar/ Will be seen as 2 different urls, so you want to effectively remove the trailing slash when you are routing a non-directory. 1 Link to comment https://forums.phpfreaks.com/topic/310847-use-htaccess-file-to-redirect-all-requests-possible-http-to-https-etc/#findComment-1578393 Share on other sites More sharing options...
Recommended Posts