2016-08-23 4 views
0

Я изначально хотел, чтобы мои страницы работали с расширениями файлов и без них.htaccess 301 перенаправить на .html

Это то, что мой рабочий Htaccess выглядел как:

RewriteEngine On 

# .php to .html 
RewriteCond %{THE_REQUEST} \ /(.+)\.php[?\s] [NC] 
RewriteRule^/%1.html [L,R=301] 

# don't need extension on the end 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 

RewriteRule ^(.+)\.html/?$ $1.php [L,NC] 

Я хотел бы обратить выше и заставить все страницы для разрешения на .html. Я хотел бы включить 301 переадресацию для Google.

ответ

0
RewriteEngine on 
RewriteRule ^(.*)$ $1.php 

Например, это будет правильно переписать example.com/test как запрос example.com/test.php

вы можете удалить оба расширения PHP HTML с помощью следующего кода

<IfModule mod_rewrite.c> 
Options +MultiViews 
RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.*)$ $1.php 
#RewriteRule ^([a-z]+)\/?$ $1.php [NC] 


RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^(.*)$ $1.html 
#RewriteRule ^([a-z]+)\/?$ $1.html [NC] 

</IfModule> 
Смежные вопросы