2013-06-27 2 views
0

Я хочу изменить один URL-адрес на mysite с сайта sitename.com/test123.php на sitename.com/article-about-stuff. Нет никаких переменных, которые следует учитывать, просто одноразовое изменение URL. Возможно ли это с помощью mod_rewrite и RewriteRule? Я в настоящее время:Simple RewriteRule без переменных

RewriteEngine on 
RewriteRule ^article-about-stuff$ /test123.php [L,QSA] 

На данный момент пользователь перенаправляется, но URL-адрес меняется на test123.php. Я хочу сохранить URL-адрес.

Я хотел бы также, чтобы иметь возможность перенаправить трафик на test123.php к /article-about-stuff Как я могу просто выписать URL назначения и ссылку на него с хорошеет URL?

+0

Что вы будете работать. В чем проблема? –

+0

URL-адрес по-прежнему выводится как: sitename.com/test123.php – Smittles

+0

Я могу ссылаться на страницу с sitename.com/article-about-stuff, но я также могу получить доступ к странице как sitename.com/test123 .php – Smittles

ответ

4

добавить следующую директиву в ваш .htaccess (этот запрос будет перенаправлять от test123 к статье-о ...)

RewriteCond %{ENV:REDIRECT_STATUS} !200 
    RewriteRule ^test123\.php$ /article-about-stuff [NC,R=301,L] 

Примечание: первое условие гарантирует, что никакое предыдущее Перенаправление не производится (чтобы предотвратить перенаправление петля)

+0

Это также должно превышать его правило. –

0

Ответ на ваш вопрос: «да, это возможно», но я не уверен, зачем вам нужен mod_rewrite для такого простого перенаправления.

RedirectMatch ^test123\.php$ /test123.php 

См. When Not To Use Rewrite.