2013-03-23 2 views
2

Какие строки я должен добавить, чтобы удалить как .html, так и .php расширения с моего сайта?Apache .htaccess, чтобы скрыть оба .php и .html расширения

Я использую это для только .html части:

RewriteEngine on 

RewriteBase/
RewriteCond %{http://jobler.ro/} !(\.[^./]+)$ 
RewriteCond %{REQUEST_fileNAME} !-d 
RewriteCond %{REQUEST_fileNAME} !-f 
RewriteRule (.*) /$1.html [L] 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^.]+)\.html\ HTTP 
RewriteRule ^([^.]+)\.html$ http://jobler.ro/$1 [R=301,L] 

, но мне нужно для обоих расширений типов файлов, которые будут скрыты из того же домена.

ответ

2

Вы хотите проверить, существует ли файл с .html или .php, а затем перенаправить его в такой файл.

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*)$ $1.html [L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php [L] 

RewriteCond %{REQUEST_URI} \.((html)|(php))$ 
RewriteRule ^(.*)\.([^.]+)$ $1 [R,L] 
+0

спасибо. Прекрасно работает! – Blazer

+0

@Blazer, эй, так как все работает, есть шанс, что вы можете нажать, чтобы принять ответ? :-) – cnst

+0

@Blazer, так как это работает отлично, любой шанс вы можете нажать кнопку accept, чтобы и вы, и я получили очки за тяжелую работу? благодаря! – cnst

3

Я знаю, что его поздно, чтобы ответить, но я придав ему, так как это может быть полезным для кого-то :)

#Remove php extension 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}\.php -f 
    RewriteRule ^(.*)$ $1.php 

#Remove html extension 
    RewriteEngine on 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME}\.html -f 
    RewriteRule ^(.*)$ $1.html 

Это удалит как PHP и расширение HTML из файлов и отлично работает.

Смежные вопросы