не удается перенаправить вложенные папки через htaccess mod_rewrite

#.htaccess #mod-rewrite #url-rewriting

#.htaccess #мод-перезапись #перезапись URL

Вопрос:

у меня проблема с htaccess

все URL-адреса будут перенаправляться через access:

 RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?load=contentamp;url=$1
  

Домен www.domain.de/nicepage перенаправит на www.domain.de/index.php?load=contentamp;url=nicepage

Теперь я хотел бы перенаправить ‘вложенную папку’:

из www.domain.de/faq/nicefaq в www.domain.de/index.php?load=faqdetailamp;url=nicefaq

Это то, что я пытаюсь:

 RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?load=contentamp;url=$1
RewriteRule ^faq/(.*)$ index.php?load=faqdetailamp;url=$1
  

Это не работает. каждый раз, когда я вызываю страницу, я перенаправляю на load = content.

Можете ли вы мне помочь, пожалуйста?

заранее спасибо и с наилучшими пожеланиями, Мэддин

Ответ №1:

Оба перезаписываемых элемента соответствуют одному и тому же условию. Поскольку первая, которую вы написали, соответствует всему, вторая никогда не достигается. Просто измените порядок:

 RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^faq/(.*)$ index.php?load=faqdetailamp;url=$1
RewriteRule ^(.*)$ index.php?load=contentamp;url=$1
  

Надеюсь, это поможет…

Ответ №2:

Попробуйте этот код в вашем файле .htaccess:

 Options  FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^faq/(.*)$ index.php?load=faqdetailamp;url=$1 [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/ faq [NC]
RewriteRule ^(.*)$ index.php?load=contentamp;url=$1 [L,QSA]