.htaccess RewriteRule not being followed


.htaccess RewriteRule not being followed

当我尝试使用以下规则时,会得到一个"找不到页面":

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错误,这样我就知道.htacccess正在处理。感谢您的帮助!

根据您的帖子,我假设如下:

正在web上访问的url为:test.com/partner/DDYNAMI-CONTENT/free-demo/DDYNAMIC CONTENT/

您要重写的url是:test.com/free-demo/DDYNAMI-CONTENT/

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

**一个更具体的例子在这里会很好。

试试这个:

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