【问题标题】:cannot redirect subfolders via htaccess mod_rewrite无法通过 htaccess mod_rewrite 重定向子文件夹
【发布时间】:2011-08-19 22:26:25
【问题描述】:

我有一个 htaccess 问题

所有 url 都将通过访问重定向:

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

www.domain.de/nicepage 将重定向到 www.domain.de/index.php?load=content&url=nicepage

现在我想重定向“子文件夹”:

www.domain.de/faq/nicefaqwww.domain.de/index.php?load=faqdetail&url=nicefaq

这就是我正在尝试的:

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

这不起作用。每次我调用该页面时,我都会重定向到 load=content。

你能帮帮我吗?

提前致谢并致以最诚挚的问候 麦丁

【问题讨论】:

    标签: .htaccess mod-rewrite url-rewriting


    【解决方案1】:

    两个 RewriteRules 匹配相同的条件。由于您编写的第一个匹配所有内容,因此永远无法达到第二个。只需更改顺序:

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

    希望这会有所帮助...

    【讨论】:

      【解决方案2】:

      在您的 .htaccess 文件中尝试此代码:

      Options +FollowSymlinks -MultiViews
      RewriteEngine on
      
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^faq/(.*)$ index.php?load=faqdetail&url=$1 [L,QSA]
      
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_URI} !^/+faq [NC]
      RewriteRule ^(.*)$ index.php?load=content&url=$1 [L,QSA]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-22
        • 2011-09-04
        • 2017-03-09
        • 2019-03-03
        • 2011-02-12
        • 1970-01-01
        相关资源
        最近更新 更多