Htaccess重写规则名称与文件夹名称相同

时间:2015-05-26 16:37:32

标签: .htaccess

RewriteRule ^photos/([^/.]*)/([^/.]*) photos.php?id=$1&name=$2 [L,QSA]

我已重写规则页面 photos.php ,但我有一个文件夹调用照片/

这是问题

因为我重写规则所以网址显示照片/ 23 / imagesname

但文件夹 photos / myimage.jpg 内的任何图片都不会显示

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

首先确保MultiView已关闭。然后告诉规则忽略real files and directories。试试这个规则。

Options -MultiViews

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^photos/([^/]+)/([^/]+)/?$ photos.php?id=$1&name=$2 [L,QSA]

答案 1 :(得分:1)

在您的RewriteRule创建一个忽略照片目录中照片的条件之前:

RewriteCond %{REQUEST_URI} !^/photos/[0-9a-zA-Z_\-]+\.(gif|jpg|png)$

您可能还想在正则表达式的末尾添加美元符号($)(在第二组括号后)以表示表达式的结尾。

相关问题