Ошибка возврата файла .htaccess 404 при перенаправлении корневой папки в файл - PullRequest
0 голосов
/ 22 ноября 2018

Я на этом сошел с ума.

У меня есть файл .htacces, который я использую для перенаправления определенных корней в файлы.

Например:

example.com/ до example.com/home.php

example.com/subdir/ до example.com/subdir/home.php

Это прекрасно работает для моего перенаправления subdir, но мой корневой редирект на home.php выдает ошибку 404 изатем перенаправляет меня на страницу 404 моего сайта.

Это мой файл .htaccess (я оставил все только в том случае, если другое правило отбрасывает вещи).

RewriteEngine off
RewriteEngine on
AddDefaultCharset utf-8

#Alter the default time zone for the site
SetEnv TZ Europe/London

#set the RewriteBase
RewriteBase /

#Redirect from root to home.php
RewriteCond %{REQUEST_URI} ^\/?$
RewriteRule (\/)?$ home.php [L]

#Redirect from /subdir to /subdir/home.php
RewriteCond %{REQUEST_URI} ^/subdir\/?$
RewriteRule ^subdir(\/)?$ subdir/home.php [L]

#Removing .php from the end of file paths
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L,QSA]

#Forcing https://
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.*)$ [NC]
RewriteRule (.*) https://%1%{REQUEST_URI}

#Redirect to 404 error page
ErrorDocument 404 /page_not_found.php
RewriteCond %{HTTP_HOST} ^(www\.)?example.com/(.*)$
RewriteRule ^$ "https://example.com/page_not_found.php" [R=301]

Что должноя делаю, чтобы получить example.com и example.com/ для перенаправления на example.com/home.php?

1 Ответ

0 голосов
/ 22 ноября 2018

Попробуйте после комментариев #Removing .php from the end of file paths Прокомментируйте свой код и вставьте его.Это может помочь вам

 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$ index.php/$1 [L]
...