Weiterleitung auf 404-Seite, wenn eine falsche URL eingegeben wird

Jul 23 2020

Ich habe eine 404-Fehlerseite und habe den folgenden Code ausprobiert, der über diesen Link generiert wurde . Wenn jedoch die falsche URL eingegeben wird, wird zur Hauptseite und nicht zur 404-Fehlerseite weitergeleitet

<IfModule mod_rewrite.c>
RewriteEngine On
ErrorDocument 404 https://www.rcis.in/404.php
</IfModule>

Ich habe den Code in der htaccess-Datei hinzugefügt. Und auch, wie man die Dateierweiterung von der URL entfernt. Unten ist der Code, den ich ausprobiert habe

 #Remove extension
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^([^\.]+)$ $1.php [NC,L]

Und ich habe unten Code ausprobiert, der von der oben erwähnten Website generiert wurde

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/?(.*).(php)$ /$1 [R=301,L]

</IfModule>

Wie kann ich diese beiden lösen?

Danke im Voraus

Antworten

2 Ajith Jul 23 2020 at 13:53

Der folgende Code entfernt die PHP-Erweiterung aus der URL

RewriteEngine On
# for 404 redirection
ErrorDocument 404 https://www.yourdomain.in/404
# below code rewrites php extention
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
# Remove php extention
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

Daher die URL https://www.yourdomain.in/404 wird geladen https://www.yourdomain.in/404.php

fidaay Jul 26 2020 at 06:41

Überlassen Sie hier meine vollständige .htaccess-Datei:

#turn on url rewriting 
RewriteEngine on

# below code rewrites php extention
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [NC,L]

# Remove php extention
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

#redireccion de errores 
ErrorDocument 403 403.php #your 403 page
ErrorDocument 404 404.php #your 404 page

# Setup browser caching
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>

# Desactivando el file directory
Options -Indexes

Achten Sie darauf, den folgenden Code nicht zu verwenden:

# QUE ES ESTO??
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php [L]

Es wird Ihre falschen URL-Weiterleitungen beschädigen.

Dies kann ebenfalls hilfreich sein und sichert die Verwendung von https:

# Redireccion total a Https
<IfModule mod_rewrite.c>
RewriteCond %{ENV:HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
</IfModule>

Prost, hoffe das hilft dir weiter.