清理与目录同名的路径

时间:2014-09-11 06:30:18

标签: apache .htaccess mod-rewrite

我在根目录中有一个目录/新闻,我也有/ news清理路径。 我在/ news目录中有一些子目录和文件。

我需要支持clean路径/ news(有时会使用相同的额外$ _GET参数)并允许链接到真实/新闻目录中的真实文件和子目录。

我目前的.htaccess看起来像:

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} /news/?$ [OR]
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^ index.php [L] 

但是如果存在一些GET参数并且它总是在路径的末尾添加斜杠,那么ajax请求(对临时用户请求没有问题)到/ news路径有一些问题,例如我输入example。 com / news,所以它重定向到example.com/news /.

在这种情况下,如何使用与现有目录相同的干净路径?

1 个答案:

答案 0 :(得分:0)

以下规则应该适用于root .htaccess:

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ^/news/?$ [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L] 

确保没有/news/.htaccess来覆盖此内容。