2013-11-22 4 views
0

я использовал следующие переписать адреса на моем сайте.htaccess и Перенаправление

RewriteRule writers/(.*)/ writer-pages.php?page_name=$1 
RewriteRule writers/(.*) writer-pages.php?page_name=$1 

, который прекрасно работает, но у меня есть старые страницы, которые имеют расширение /writers/name-here.php и рерайт выше удаляет .php, как я могу перенаправить старый .php к URL-адресам без расширения.

Другая проблема, я не хочу переадресовать все страницы .php

Любая идея, как я могу это сделать. Любая помощь будет высоко ценится

ответ

1
RewriteRule writers/(.*).php writers/$1/ 

вы можете проверить свои правила перезаписи на rewrite-rule-tester

+0

спасибо за Ваш ответ hajlabajla но по какой-то причине редирект не будет работать? любые идеи, почему –

+0

Извините, моя ошибка. Я поместил ваш код перед моим кодом и теперь отлично работает. Спасибо @hajlabajla –

0
  • Ваши 2 правила могут быть объединены в один.
  • Вам необходимо дополнительное правило.

Вот код:

# external redirect from actual URL to pretty one 
RewriteCond %{THE_REQUEST} /+writer-pages\.php\?page_name=([^\s&]+) [NC] 
RewriteRule^writers/%1? [R=302,L] 

# your original rule 
RewriteRule writers/([^/]*)/?$ writer-pages.php?page_name=$1 [L,QSA] 
Смежные вопросы