'YOURLS: 404 and directory issues

My main domain is smile.ws I have installed yourls in smile.ws/yourls.

As a result, all my shortened urls are smile.ws/yourls/link instead of smile.ws/link

I followed the wiki instructions but that didn’t help.

I looked around and found a plugin called "Swap Short Url" which is supposed to help in these situations. It has slightly different .htaccess recommendation. I followed the instructions correctly and it works, because now the urls are smile.ws/link. But when you click on them, you get a 404 error.

How can I fix this? Thanks!



PS I know this is not a programming question. However, Stackoverflow has a tag for YoURLS that has 55 questions.


Solution 1:[1]

This to me sounds like it is related to the web servers .htaccess file but I can't be certain unless you can give us an example. I have a YOURLS site that work as you are describing without using a plugin. This really comes down to how the web server is configured and the YOURLS settings. Here is a sample of my .htaccess file.

# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /yourls-loader.php [L]
</IfModule>
# END YOURLS

In your config file this line needs to look like this.

define( 'YOURLS_SITE', 'http://smile.ws' );

If this doesn't work it might be due to your web server not having the correct permissions set or the rewrite module not enabled assuming you are using apache.

Solution 2:[2]

Did anyone check the root .htaccess?

# BEGIN YOURLS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /YOURLS/yourls-loader.php [L]
</IfModule>
# END YOURLS

This line needs to set the subdirectory /your dir here/

RewriteRule ^.*$ /YOURLS/yourls-loader.php [L]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Darrell Agee
Solution 2 Mitch