Htaccess on XAMPP local server for testing - wordpress

I finally got the XAMPP local Wordpress system working so now I can test things out.
If I want to mimic htaccess files to test redirect code and so forth - especially htaccess in the root - here would I put the htaccess file?
I'm thinking is the XAMPP folder considered the "root"? I've taken a snapshot of my directories to give you an idea. The checkmarks are there just to show you the general layout of the directories.
One other thing - suppose I wanted to create a sub-directory (like localhost/sub/index.php) to test in XAMPP. Is this possible? I noticed when I'm in local host there is no multi-site capability. Thoughts?
Thanks

The .htaccess file should be in the root of your WordPress installation and you may use sub-directories to create more local sites. For example:
localhost/wordpress = xampp/htdocs/wordpress/index.php
localhost/anothersite = xampp/htdocs/anothersite/index.php
// More...
For the WordPress installation, put the .htaccess in the wordpress directory in example (At the same level where the index.php file is stored).

Related

Wordpress Directory Switch Issues

I recently set up a digitalocean account with wordpress pre-installed. When it is pre-installed, the directory structure begins in the root (var/www/html/). I wanted to change this, so i moved the files into a new directory (/var/www/html/viralnewz) and changed the wp-config files to represent this (they no longer point to the http://178.62.87.202/ but instead to viralnewz.co.uk, which in turn will point to viral newz directory (/var/www/html/viralnewz). This is set up with a virtualhost, and works fine for the front-page and the admin. But when i try and view others pages, i get a 404 not found. I'm assuming theres an issue with the wordpress setup because it can't find the correct page, however i'm unclear how to actually solve this issue.
Apache conf file
<VirtualHost *:80>
DocumentRoot /var/www/html/viralNewz/
ServerName viralnewz.co.uk
# Other directives here
</VirtualHost>
Additionals to wp-config.php
define('WP_HOME','http://viralnewz.co.uk/');
define('WP_SITEURL','http://viralnewz.co.uk/');
If i've missed any other information that could be beneficial, please mention it and i'll do my best to find it.
Chris
I think your problem can be related to url values stored in DB.
You can migrate safely using this tool, that permit to find and replace the urls stored in DB.
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
Can be also necessary update .htacess file: normally is enough enter in permalink settings and save again the structure of permalinks.

Moving wordpress site from subdomain to domain with 1 caveat

I already have wordpress installed in my root, but I haven't built anything on it.
All these while I have been building on my subdomain, which is also using wordpress.
Now I have come to the conclusion to move everything I have from the subdomain to the root.
Are there anything I should take note of? Should I remove the wordpress installation that is in my root?
I'm using cpanel # hostgator
Remove the wordpress installation that is in your root directory, then copy all the files from the sub-domain's folder to your root directory. You should note that before moving the files, log into the existing Wordpress dashboard and under Settings -> General you need to change the URLs of your site first, otherwise you won't be able to log in once your site is moved. That's it.

Editing .htaccess without FTP access through Wordpress

I have no access to my FTP but I'm able to edit the web through Wordpress. Is there any way I could perhaps generate the .htaccess file through the admin framework? I know there might be a plugin to do that, but bear in mind I have no FTP access and the plugins require it to be installed.
I need the .htaccess file to redirect the user to another site.
I know this might strike you as weird and stupid, but this is due to the company's central decision to keep the site hosted by, I guess, a "friendly" hosting company. There's no way of recovering the login/password for FTP, so this might be the only solution.
Please, try posting constructive comments only, no "contact the hosting company". If I could, I would.
If your hosting company has set up wordpress correctly, then there is no way to do this, because unix permissions should make .htaccess read-only to the owner of the web server.
If the company has not done this, and if you have a way to change the templates, you might have success by creating a template that contains php code to open and write the .htaccess file.
Sample code to be put at the top of the header.php:
echo 'Current dir: ',getcwd(),"<br>\n";
if ($handle=opendir('.')) {
while (($file=readdir($handle))!==false) {
$ok=(is_writable($file) ? "ok" : "can't write");
echo "file '$file': $ok<br>\n";
}
closedir($handle);
}
This is to test you're in the root directory of your wordpress installation. It should give you the current directory, a list of all files in that directory (expect .htaccess, index.php, and various wp-* files), and their writability.
Once you've checked everything is correct, add
file_put_contents('.test', "RewriteEngine On\nRewriteRule ^(.*)$ site.com$1 [R=301,QSA,L]\n");
echo("<code><pre>-------- included file starts here\n");
include(".test");
echo("-------- included file ends here</pre></code>\n");
to the php code. This writes to a test file and includes it so you can check if everything is ok. When you've checked the file contents, replace .test with .htaccess.
WARNING: You should be VERY sure about the content of .htaccess. file_put_contents doesn't append the new string, it overwrites the whole file. Once you've written a bad .htaccess file, you might not be able to ever change it again, because the web server will redirect you to the new site instead of executing the script on the old site.
I am sorry for your situation. What is the hosting company (will keep this in mind if I ever use them). To try to help:
Do you have access to CPanel? Most hosting providers give it out of the box. Cpanel has a file manager.
Research Wordpress file managers (http://wordpress.org/plugins/wp-filemanager/)
How to edit wordpress .htaccess file from hosting Cpanel: If you are currently unable to login in your wordpress dashboard, or facing 500 internal server error. There is 90% possibility that you were editing your .htaccess file from your wordpress dashboard. In this situation you can only fix your wordpress .htaccess file by editing it from cpanel. Editing .htaccess file from wordpress dashboard is little risky with .htaccess editor plugins. If you will implement any wrong code then you might face 500 internal server error and your site might crush. So first you should take a backup of your existing .htaccess file before editing it. If you have a backup of your wordpress .htaccess file then you can upload it through your hosting cpanel also.
https://howtoways.com/how-to-edit-wordpress-htaccess-file-from-hosting-cpanel/

Pass through wordpress Folder to root folder

I have a wordpress installation on a site. It was placed inside ~/wp.
I've moved it yesterday to the root folder, ~/. However, a lot of the theme references and images still point out to ~/wp.
Instead of finding all these places(which may be hundreds), I'd like to pass through ~/wp to the root folder. Meaning, when the user goes to http://www.site.com/wp/thing.php , he'll actually be inside ~/thing.php, without changing the url.
Would this be possible with .htaccess changes? and if so, how?
It's a config setting - in Settings -> General you are given two options, WordPress Address (URL) and Site Address (URL).
You have the former pointing at the directory with the Wordpress installation in it and the latter at the root of your site.
Here's the Codex info on it;
http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install
Incidentally, modifying all the files paths is another option of course - you would use the same technique you would use when transferring a Wordpress site from localhost to live, or from a dev server to live. You can look at the second part of my answer in this thread;
How to push wordpress from mamp into hostgator
That interconnectit script is a huge timesaver when moving WP sites.

Any way of mapping the wordpress installation to the website root?

I installed Wordpress on a cPanel account, and it's accessible by visiting website.com/wordpress. What would I need to do to make it so that when a user visits website.com , he actually sees the website.com/wordpress ? I think there is a better solution than adding a redirect inside an index.html.
You can use .htaccess to make the wordpress location as your Directory index using a .htaccess file in your root above wordpress folder..
and include following in that .htaccess file
DirectoryIndex wordpress/index
Though I do not know about the cPanel admin section - look into your domain configuration or general settings: There should be a place where you can set the the target of the domain or your 'home directory'. it currently should point to the root directory '/'.
Simply let it point to the '/wordpress' folder and you should be fine. If you do not have access to the domain config, install the wordpress directly into the root directory.

Resources