P
P
Prodion2021-08-06 16:31:17
htaccess
Prodion, 2021-08-06 16:31:17

How to redirect www and index.php?

Yes:

site.local/article
This page is also available at:

site.local/index.php/article
www.site.local/article
www.site.local/index.php/article

How to make a redirect? My .htaccess:
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Answer the question

In order to leave comments, you need to log in

2 answer(s)
D
dodo512, 2021-08-06
@PRodion

Immediately after addingRewriteEngine On

RewriteRule ^index\.php/(.*) http://site.local/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule .* http://site.local/$0 [R=301,L]

A
Anton Anton, 2021-08-06
@Fragster

It's easier to wrap everything at the host level from www to without it, in the Apache config (not in .htaccess) you need to find where the hosts are described and add an alias for www with a redirect:

<VirtualHost *:80>
    ServerName www.example.com
    Redirect permanent / http://example.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName example.com
    # real server configuration
</VirtualHost>

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question