8

This generally has to do with PHP being connected to Apache via FastCGI, rather than mod_php. When this is the case, an extra ? is needed in the rewrites to EE's index.php: From RewriteRule ^(.*)$ /index.php/$1 [L,QSA] To RewriteRule ^(.*)$ /index.php?/$1 [L,QSA]


6

actually I don't use NSM htaccess generator , but I can help you with this problem. first thing update to the last version , if you have the last version and still have this problem you can solve it as following: about the first one:do_hash() problem. replace do_hash() function with PHP’s hashing functions like sh1 about the second one generate_json() : ...


6

This is what I usually have in my .htaccess for this (goes right after RewriteBase /): # Remove the trailing slash to paths without an extension RewriteCond %{REQUEST_METHOD} !=POST RewriteCond %{REQUEST_URI} /$ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.+)/$ $1 [L,R=301]


5

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] Reference Basically if the request is not a folder or not a file, then add index.php and let EE control it, otherwise it'll be served by whatever is in the relevant path. Ensure none of your other htaccess entries conflict with this though and that ...


5

Change the RewriteCond %{REQUEST_URI} !/system/.* [NC] line in htaccess to match the new system folder name: RewriteCond %{REQUEST_URI} !/new_system_folder_name/.* [NC]


5

Can you get the templates to render if you leave index.php in your URL? eg localhost:8040/index.php/cursos If so then it is your .htaccess. Max is right about the order of your .htaccess file. Also, you could try adding a '?' in your RewriteRule directly after index.php eg RewriteRule ^(.*)$ /index.php?/$1 [L] A fairly reliable method of removing ...


5

If you are running from localhost:8888, then locally you are essentially running these sites from subdirectories. So the .htaccess you are using (RewriteRule ^(.*)$ /index.php/$1 [L]) is sending requests to http://localhost:8888/index.php. Try the second exception from the user guide: RewriteRule ^(.*)$ index.php/$1 [L] Notice there is no / in front of ...


4

Many default SSL setup have settings to ignore .htaccess at all. So server use your .htaccess for http, but for security reason ignore default rules overwrite for https. Check your ssl config (try - /etc/httpd/conf.d/ssl.conf) what flag you have for AllowOverride? Possible you have None - in this case, the server will not even attempt to read .htaccess ...


3

I've run into similar issues in the past, and honestly I gave up on htaccess in the end as I never could get it to work exactly as I intended. A much easier solution I found was using an add on to force the redirect instead, doing it this way I gained direct control of pages needed redirecting in templates instead. I used an addon called Force SSL, http://...


3

It looks like your 404'd page works with index.php: http://warpedcoders.com/charlie/index.php/news/page_content So, try this for your .htaccess rewrite: <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On ## Removes index.php RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{...


3

Depending on usage, you may want to just use the Pages Module, which lets you configure custom URLs and connect them to the template of your choice. I use this quite a lot in my setups.


3

Take the standard method and add in your subfolder name before index.php in the RewriteRule. <IfModule mod_rewrite.c> RewriteEngine On RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /SUBFOLDER/index.php/$1 [L] </IfModule>


3

What you are doing doesn't make any sense. There is no point having a separate /pub directory if everything is still within the webroot. The only reason you would have a separate pub (or public_html) directory is if you want to keep your system folder above the webroot. This adds an extra layer of security, though it only really protects against a ...


3

I finally got this working (Low Search working with Stash static cached homepage)!!! I added the following rule to my .htaccess, to get it to really really ignore POST requests. I'm not sure why this works (maybe it's my server environment? I'm on a Nexcess EE-Optimized plan). So I added the following RewriteCond RewriteCond %{THE_REQUEST} ^(GET) And ...


3

You are missing the opening { on the href's tag, and {title_permalink} has an underscore _ not a dash. <li><a href="{title_permalink="site/essay"}">{title}</a></li> See EE Docs on Permalinks


3

I don't think the issue is with the friendly URL's, however you can test this by removing that block from the htaccess and typing the index.php part into your URL : http://www.example.com/index.php?foo=bar Another thing to check is that ExpressionEngine itself is not clearing the get parameters, which can happen as all ee actions are submitted to the home ...


3

My friend... I'm afraid your syntax is incorrect. Place this rule after your index.php rewrites (at the end of the standard EllisLab htaccess file): RedirectMatch 301 ^/?$ http://www.example.org/todays-info This is the magic you seek. The second parameter of a RedirectMatch is a regular expression.


3

No, .htaccess file is not needed for EE install. If you don't make .htaccess file then also EE will run. But, it is advisable to keep .htaccess file for removing the index.php from URL, leverage browser caching and gzip compression. .htaccess files are used to override settings which is set in the apache configuration. If you don't want to change, then you ...


3

You probably can find all you need in the ExpressionEngine documentation which discusses this issue and provides some sample code.


3

You will need that rule, nothing has changed with the requirement of using mod_rewrite to remove the index.php portion of your URL for your site installation. You still need to direct all non-file/directory URLs to that index.php file as well. Please review the docs: https://docs.expressionengine.com/latest/general/remove-index.php.html#1-create-an-htaccess-...


2

<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_URI} !(calculator) [NC] RewriteCond $1 !\.(gif|jpe?g|png)$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L] </IfModule> Explainations... RewriteCond %{REQUEST_URI} !calculator/ I think the problem here is that you'...


2

This is what I eventually went with; # Rewrite for new language based urls # This is to try and get all current pages going to /en/(old url) with a 301 redirect RewriteCond $1 !\.(gif|jpe?g|png|ico|js)$ [NC] RewriteCond %{REQUEST_URI} !^/(index\.php|en)(/.*)?$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /en/$1 [...


2

You're not actually hiding index.php with .htaccess, you're adding it (hidden) to the URL a person accesses. So you're not going to be removing (hiding) the template group, you'll be adding it the urls that require it. And that I think is the problem - knowing what URL's require the addition. The only way I can think of is to hard code the template segments ...


2

Try this in your .htaccess: RewriteCond %{QUERY_STRING} ^(css=.*)$ [NC] RewriteCond %{QUERY_STRING} !^(ACT=.*)$ [NC] RewriteRule ^(.*)$ /index.php?/%1 [L] Before your main index rewrite. Also if it's a physical file, ensure you have this in your htaccess: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d Before the index rewrite ...


2

Firstly I think you should rename admin.php to something else, in line with the Post-Installation Best Practices which can be read at http://ellislab.com/expressionengine/user-guide/installation/best_practices.html I would go for a sub-folder, and rename it something obscure like /badgers/index.php In turn, this would make your htaccess file easier because ...


2

I got it! I think at least some if the problems i had testing various versions of this were down to FF caching RewriteRule /downloads/files/(.*).zip /index.php/log/file_downloads/$1 [L,R=301]


2

In your htaccess, you can add another rule that recognizes query strings, and then appends them with an & to the page URL that gets turned into the first part of the query string (after the ?). Something like this should work: RewriteEngine on #URLs WITH a query string RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d ...


2

If you wanted to use Template Routes, here's how you'd do it: $config['template_routes'] = array( 'about-us' => 'template_group/about-us', 'faq' => 'template_group/faq', ); This will make it so if you visit the http://yoursite.com/about-us url, you'll get the template_group/about-us template.


2

Try this :: 1.) Go to your SSL configuration file : /etc/httpd/conf.d/ssl.con 2.) Find your Virtual Host : <VirtualHost_default_:443> 3.) Write down : Path to your directory <Directory "/var/www/html/magento"> AllowOverride All </Directory> 4.) Restart your apache : service httpd restart


2

.host file just overwrite DOMAIN -> IP determination which usually do DNS server before you computer send request to Web server. So you can't manipulate urls on server with it. Your web server (apache/nginx) must be ready to get request with domain "mytempdomainsite.com.au" (or have default setting for ip) and redirect to your web folder. This is only way....


Only top voted, non community-wiki answers of a minimum length are eligible