.htaccess没有遵循RewriteRule

时间:2013-07-16 21:08:33

标签: php linux apache .htaccess

当我尝试使用以下规则时,我收到了“找不到页面”:

RewriteCond %{REQUEST_URI} /free-demo [NC]
RewriteRule partner/(.*)/free-demo/(.*) /free-demo/$2 [L]

我要做的是让访问test.com/partner/DYNAMIC-CONTENT/free-demo/DYNAMIC-CONTENT/的流量加载位于test.com/free-demo/DYNAMIC-CONTENT/的内容

如果我尝试直接访问test.com/free-demo/DYNAMIC-CONTENT/,我可以访问该内容。如果我尝试访问test.com/partner/DYNAMIC-CONTENT/free-demo/DYNAMIC-CONTENT/,我会收到“找不到网页”消息。

RewriteEngine已启用,如果我使用无效代码修改.htaccess文件,则会收到服务器500错误,因此我知道.htaccess正在处理。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

从你的帖子我假设如下:

网络上访问的网址是: test.com/partner/DYNAMIC-CONTENT/free-demo/DYNAMIC-CONTENT /

您要重写的网址是: test.com/free-demo/DYNAMIC-CONTENT /

我注意到可寻址URL中有两组DYNAMIC-CONTENT,内部只有一组。在你的例子中看到2美元,我假设你忽略了第一个,并使用第二个作为内部网址。

**这里有一个更具体的例子。

试试这个:

  RewriteCond %{REQUEST_URI} /partner/(.*)/free-demo/(.*) [NC]
  RewriteRule (.*) /free-demo/%2 [L]