My web host (omnis.com) said I need to remove entries like Options +FollowSymLinks from .htaccess files within my website. I've discovered one problem with this so far. I'm using Pathauto and Token module to auto-generate URLs. It works fine specifically for node URLs, but not for generating taxonomy feeds.

They come out something like this:

Alias
tags/birds/feed

System
taxonomy/term/3/tags/[catpath-raw]/feed

Obviously the alias is working fine, but something's up with the System link, so that it's ultimately broken.

Any ideas how I can re-enable this feature without my site being blocked because of the Options +FollowSymLinks in my .htaccess?

Thanks,

Alex

Comments

cog.rusty’s picture

I don't see how Options +FollowSymlinks matters. Can you describe what values you entered in which text boxes in the admin/build/path/pathauto page?

ALT83’s picture

Sorry I figured out what I was doing wrong:

Pattern for all Tags paths: tags/[cat-raw]
Internal feed alias text (leave blank to disable): tags/[cat-raw]/feed

This results in the following for an example tag (Asia)

Alias System
tags/asia taxonomy/term/28
tags/asia/feed taxonomy/term/28/tags/[cat-raw]/feed

Pathauto doesn't accept Tokens for feed generation, so changing Internal feed alias text (leave blank to disable) to "feed" solved it.

nnn’s picture

In the apache doc http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html, scroll down, and see the section in "Per-directory Rewrites". It says:

The rewrite engine may be used in .htaccess files. To enable the rewrite engine for these files you need to set "RewriteEngine On" and "Options FollowSymLinks" must be enabled. If your administrator has disabled override of FollowSymLinks for a user's directory, then you cannot use the rewrite engine. This restriction is required for security reasons.

However, mod_rewrite will work if I use "Options -FollowSymLinks +SymLinksIfOwnerMatch".

Now I wonder how your site could work without "FollowSymLinks".

cog.rusty’s picture

This is possible because path aliases are not rewrites or redirects. They are virtual paths just like the normal drupal system paths "node/nn".

If the rewrite engine was not working, this would affect the "?q=" rewrites and also the redirects done by modules such as globalredirect or path_redirect, but not the generation of path aliases.

It is also very likely that Followsymlinks was already enabled in that server's configuration, and that the restriction was only that the server didn't allow trying to change it in .htaccess.