2015-02-10 3 views
0

Я никогда не переписывал правила, и все, что я пробовал, и найти в google не работает. Особенно создавать несколько правил перезаписи сложно для меня, потому что я не знаю, как правильный синтаксис и как выглядит правильная реализация (1 Rewrite Condition или несколько и подобных вопросов).htaccess простое правило перезаписи не работает

Таким образом, я был бы счастлив, чтобы получить результат для моей следующей попытки:

https://www.domain.com/our_accounts.php ->https://www.domain.com/accounts

НТТР -> HTTPS правило уже работает. Возможно, есть и проблема с моими правилами перезаписи, потому что мне может понадобиться добавить их до моих правил https? Надеюсь, вы, ребята, можете мне помочь.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTPS} off 
    # First rewrite to HTTPS: 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
    # Now, rewrite any request to the wrong domain to use www. 
    RewriteCond %{HTTP_HOST} !^www\. 
    RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
    # Rules for readable URLs 
    RewriteCond %{THE_REQUEST} ^.*/index\.php 
    RewriteRule ^(.*)index.php$ /$1 [R=301,L] 
    RewriteRule ^accounts$ /our_accounts.php [L] 
</IfModule> 

ответ

1

Попробуйте файл htacess таким образом. Я также сократил HTTP и www до одного правила перезаписи. Просто замените yoursite.com на ваш настоящий сайт.

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    # First rewrite to HTTPS and redirect www: 
    RewriteCond %{HTTPS} !^on [OR] 
    RewriteCond %{HTTP_HOST} !^www\. 
    RewriteRule ^(.*)$ https://www.yoursite.com/$1 [L,R=301] 

    RewriteRule ^our_accounts.php$ /accounts [R=301,L] 

    # Rules for readable URLs 
    RewriteCond %{THE_REQUEST} ^.*/index\.php 
    RewriteRule ^(.*)index.php$ /$1 [R=301,L] 
</IfModule> 
+0

До сих пор работает как старый, но правило перезаписи файла «our_accounts.php» в «учетные записи» виртуальной папки по-прежнему не работает. Я пробовал в принципе все, что возможно, что это просто не работает для меня из-за каких-либо настроек или чего-то еще? Кстати, переписывание из http-> https works, index.php в корневую директорию также отлично. – kentor

+1

'не работает' не помогает. Что это не делает или какая ошибка вы получаете? В основном, какой результат. Это подходит для меня. Очистите кеш браузера и попробуйте. –

+0

И какой именно URL вы на самом деле пытаетесь в браузере? –

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