Как перенаправить file.php в файл, но сделать так, чтобы файл указывал на file.php? - PullRequest
0 голосов
/ 12 февраля 2012

Я пытаюсь очистить мои 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.

1 Ответ

1 голос
/ 12 февраля 2012
RewriteEngine on

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

RewriteRule ^tech$ tech.php [L]
RewriteRule ^contact$ contact.php [L]
RewriteRule ^tech\.php$ tech [L,R]
RewriteRule ^contact\.php$ contact [L,R]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...