Intereting Posts

Как удалить расширение веб-страницы из URL?

Я хочу удалить расширение веб-страницы из URL, кто-то дал мне код для .htaccess. Но он работает на localhost, когда я включаю модуль rewrite. Но когда я использую его на Godaddy, он не работает. Также, когда я нахожу example.com/cool.php, он говорит, что 404 не найден. Но я хочу, чтобы он был перенаправлен, если некоторые посещают example.com/cool.php на example.com/cool …. а также помогают в модуле переписывания godaddy. Я связался с ними, они еще не ответили мне. Вот ниже код, который дал мне парень. Спасибо.

RewriteEngine On RewriteBase / # remove enter code here.php; use THE_REQUEST to prevent infinite loops RewriteCond %{THE_REQUEST} ^GET\ (.*)\.php\ HTTP RewriteRule (.*)\.php$ $1 [R=301] # remove index RewriteRule (.*)/index$ $1/ [R=301] # remove slash if not directory RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} /$ RewriteRule (.*)/ $1 [R=301] # add .php to access file, but don't redirect RewriteCond %{REQUEST_FILENAME}.php -f RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) $1\.php [L] 

Предполагая, что вы хотите показать «симпатичный» URL ( example.com/cool ), но все же получить данные из исходного запроса ( example.com/cool.php ), вы можете попробовать это в файле .htaccess в корневом каталоге:

Обновлено для работы с файлами php в любом каталоге:

 Options +FollowSymlinks -MultiViews RewriteEngine On RewriteBase / # Get the URI-path directly from THE_REQUEST variable RewriteCond %{THE_REQUEST} ^(GET|HEAD)\s/(.*)\.php [NC] # Strip the extension and redirect permanently RewriteRule .* /%2 [R=301,L,NC] # Now the browser's address bar shows: http://example.com/cool RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !\.php [NC] # Map internally to the original resource RewriteRule ^(.*)/? /$1.php [L,NC] # Maps silently to: http://example.com/cool.php