dongxie3681 2013-11-13 23:56
浏览 18

htaccess重定向不在相对路径中工作

I'm trying to make a redirection from all files to a template file. But redirects only works when I specify an URL

For example:

Does not work (it does not redirects)

Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /template.php?page=$1 [L,QSA]

Works (redirects to http://domain.com/versioned/template.php?page=index.html)

Options -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) http://domain.com/versioned/template.php?page=$1 [L,QSA]

And the second option is change the URL in the browser. I need to keep the original URL.

Thanks

The problem is with

RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME} -f

If I quit this, it works, but instead of returning the current file in URL, it returns always template.php

  • 写回答

1条回答 默认 最新

  • dpkpaxhzffixp8426 2013-11-14 00:46
    关注

    If the htaccess file is in the versioned directory, you don't want the leading slash in the rule's target:

    Options -Indexes
    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule (.*) template.php?page=$1 [L,QSA]
    

    The relative URL-path in this rule's target, template.php?page=$1, tells mod_rewrite to rewrite the request to this URL-path that is within the path that the htaccess file is in. When you had the target as /template.php?page=$1, it assumed an absolute URL-path, which would be equivalent to: http://domain.com/template.php?page=foo.

    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么