Я пытаюсь очистить мои URL, используя mod_rewrite
в моих файлах .htaccess.
Допустим, у меня на сервере есть следующие файлы:
/about.php
/contact.php
Еслипользовательские типы about
или contact
, я хочу, чтобы about.php
или contact.php
отображались пользователю, но при этом URL-адрес оставался прежним (то есть все это происходило на стороне сервера).Точно так же, если пользователь вводит about.php
или contact.php
, я хочу, чтобы он перенаправил 301 на about
или contact
, что затем перетянет страницу на серверную сторону, сохраняя при этом симпатичный URL.* То, что я пробовал до сих пор:
RewriteEngine on
RewriteRule about about.php
RewriteRule contact contact.php
RewriteRule about.php about [R]
RewriteRule contact.php contact [R]
Это приводит к циклическому циклу перенаправления.
И наоборот:
RewriteEngine on
RewriteRule about.php about [R]
RewriteRule contact.php contact [R]
RewriteRule about about.php
RewriteRule contact contact.php
Это функционально,но перенаправление не работает (URL остается прежним).
Как я могу сделать так, чтобы я не получал цикл перенаправления, но все мои страницы будут указывать на версию без .php
?
Примечание. Я знаю, что [R]
- это 302, а не 301, но я использую для тестирования 302.