2016-10-25 4 views
0

Я запускаю веб-сайт на Apache. Ради дружественного URL я использую файл .htaccess с RewriteRule, который выглядит следующим образом:Использование RewriteRule для создания путей

RewriteRule ^news/([^/]+) /newsarticles.php?pagenumber=$1 [NC,L] 

Это делает ссылку/Новости/3 приводит к http://example.org/newsarticles.php?pagenumber=3

Но теперь у меня есть путь для другого языка , как я могу заставить его работать одинаково для этого пути, используя отдельный файл .htaccess, расположенный в этой папке путей?

Например, я хочу/де/Новости/3 приводят к http://example.org/de/newsarticles.php?pagenumber=3

Я попытался следующие, но он не работал.

RewriteRule ^de/news/([^/]+) /de/newsarticles.php?pagenumber=$1 [NC,L] 

ответ

0

Вы можете использовать тот же файл htaccess. вам не нужно явно указывать в этом каталоге. Попробуйте свои правила таким образом.

Options -MultiViews 
RewriteEngine on 

#ignore real files and directories 
RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteRule ^de/news/([^/]+)/? /de/newsarticles.php?pagenumber=$1 [NC,L] 
RewriteRule ^news/([^/]+)/? /newsarticles.php?pagenumber=$1 [NC,L] 
+0

Большое спасибо за этот быстрый и рабочий ответ. – user2109099

+0

Переписываю ли я это так же, как заставить его работать с/de? 'RewriteRule^news/categories/([A-Za-z0-9 -] +) /? $ /news/newscategory.php?title=$1 [L]' – user2109099

+0

Да, просто поместите de перед путями, такими как другие правила. –