Как я могу удалить .php из URL и не работает если добавить .php?

Я хочу, чтобы удалить .phpиз моих файлов, и если кто-то пишет .php не работает, как это:

www.example.com/home.php => www.example.com/home

если пользователь добавляет .php=> не работает или перенаправить на home

Это мой .htaccessдля URL:

RewriteRule ^home$ home.php

2 ответа

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

    inside your .htaccess

    You must have apache active mod_rewrite module

    The .htaccess file:

    <IfModule mod_rewrite.c>
    # Enable RewriteEngine
    RewriteEngine on
    RewriteBase /
    RewriteCond% {SCRIPT_FILENAME}! -d
    RewriteCond% {SCRIPT_FILENAME}! -f
     
    # Rewrite URL requested by the user
    # IN: ID-NAME
    # Output: example.php? Id = ID
    RewriteRule ^ ([0-9] +) \ - ([a-zA-Z0-9 -] *) $ example.php? Id = $ 1
    </ IfModule>
    

    Regards

    .php [NC,L]

    внутри вашего .htaccess

  2. У вас должен быть активный mod_rewriteмодуль apache

    Этот.htaccess файл:

    <IfModule mod_rewrite.c>
    # Enable RewriteEngine
    RewriteEngine on
    RewriteBase /
    RewriteCond% {SCRIPT_FILENAME}! -d
    RewriteCond% {SCRIPT_FILENAME}! -f
    &nbsp;
    # Rewrite URL requested by the user
    # IN: ID-NAME
    # Output: example.php? Id = ID
    RewriteRule ^ ([0-9] +) \ - ([a-zA-Z0-9 -] *) $ example.php? Id = $ 1
    </ IfModule>
    

    С уважением