Weiterleitung auf 404-Seite, wenn eine falsche URL eingegeben wird
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
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
Ü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.