.htaccess mod_rewrite Конвертировать файл в php и не показывать тип файла - PullRequest
0 голосов
/ 27 октября 2010

При заданном наборе URL-адресов:

http://site.com/filename.html
http://site.com/filename.htm
http://site.com/filename.php
http://site.com/filename

Используя модуль mod_rewrite в .htaccess, как я могу сделать так, чтобы он запрашивал файл в

http://site.com/filename.php

и отображал URL-адрес

http://site.com/filename

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Попробуйте эти правила:

# remove file name extension and redirect externally
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]+\.(html?|php)
RewriteRule ^([^.]+)\.(html?|php)$ /$1 [L,R=301]

# rewrite to PHP file internally
RewriteRule ^[^.]+$ $0.php [L]
1 голос
/ 27 октября 2010

Это должно удовлетворить ваши требования:

RewriteRule ^([^\.]+)$ /$1.php [L]


РЕДАКТИРОВАТЬ: После вашего комментария и изменений в вопросе - попробуйте это:

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.+)\. /$1 [R,L]
RewriteRule ^([^\.]+)$ $1.php [L]
...