2016-09-21 3 views
1

Я работаю над тем, чтобы мой сайт поддерживал поисковые системы, и для чего я переписываю URL-адреса с параметрами GET, и поэтому я сделал переписывание, но теперь htaccess не указывает на то, что URL-адрес файла php, который, как предполагается, обрабатывается URL-адресhtaccess перенаправить URL-адрес в файл каталога

мой старый URL

www.domain.com/foo/myfile.php?nid=554 

новый переписаны URL с PHP

www.domain.com/foo/554-demo-page-title 

мои текущие правила HTAccess, которые работают на старых URLs, но не для новый

Options +FollowSymLinks 
RewriteEngine On 
#RewriteCond %{SCRIPT_FILENAME} !-d 
#RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteBase/
RewriteRule ^([0-9]+)-(.*) ./foo/myfile.php?nid=$1 [NC] 

поэтому я хочу, что и старые и новые URLs земли на /foo/myfile.php becuase myfile.php может обрабатывать как URLs упаковывают старого URL это переписать и перенаправлять, как новый URL, я играл за несколько часы с правилами HTAccess, но не успех

ответ

1

вы можете использовать это правило в корневом .htaccess сайта (при условии что .htaccess внутри foo/ каталога):

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/

RewriteRule ^foo/(\d+)-.*$ foo/myfile.php [L,QSA,NC] 

Если у вас уже есть /foo/.htaccess затем использовать это правило в том фил е:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /foo/ 

RewriteRule ^(\d+)-.*$ myfile.php [L,QSA] 
+0

не работает перенаправление на страницу 404 – user889030

+0

нет там никаких других правил HTAccess ... ваши первые правила HTAccess набора я добавил к корневой сайт файл Htaccess и ваши 2-го правила HTAccess набор я добавил к Foo реж Htaccess, который я создал новый, – user889030

+0

ya со старым url и добавлением мусора в foo dir .htaccess it throw 500 error – user889030

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