2014-02-13 2 views
0

Я хочу, чтобы перенаправить страниц из my_site.com/gamenews.php?id={ID} к my_site.com/news/{ID}/, но не могу :(Yii и .htaccess перенаправляет

Мой файл .htaccess:

Options +FollowSymLinks 
RewriteEngine on 

RewriteRule ^(.*)/index\.php /$1/index [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule . index.php 
RewriteRule ^gamenews\.php\?id=(.*) /news/$1/ [L,R] 
AddDefaultCharset UTF-8 

Ошибка, которая отображает:

Невозможно обработать запрос "gamenews.php"

Что я делаю неправильно? Благодарю.

+1

Ваш вопрос правильный? – Lepanto

ответ

0

Попробуйте как этот

RewriteRule ^news/([0-9]+)/ gamenews.php?id=$1[L,R] 
  1. переписан URL должен идти первым
  2. [0-9] означает, что второй параметр должен быть числом
+0

Ошибка в том же –

+0

Euh .. Чего вы хотите достичь с помощью команды RewriteRule^(. *)/Index \ .php/$ 1/index [R = 301, L] '? –

+0

Игнорируйте мой ответ. Я не понял этот вопрос. Вот ссылка, которая может помочь http://stackoverflow.com/questions/20377530/htaccess-redirect-301-url-rewrite –

0

Порядок следования правил HTAccess может быть вашей проблемой в дополнение к вашему синтаксису. Если я не понял ваш вопрос.

Попробуйте это в своем htaccess.

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^news/(.*) gamenews.php?id=$1 [L] 

RewriteRule ^(.*)/index\.php /$1/index [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php 
AddDefaultCharset UTF-8 
+0

Невозможно обработать запрос "gamenews.php" –

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