.htaccess 由于htaccess规则,将我带到目录的链接

.htaccess 由于htaccess规则,将我带到目录的链接,.htaccess,directory,file-extension,.htaccess,Directory,File Extension,当我点击一个特定的链接时,它会将我带到目录文件列表,而不是它应该是的文件 Click link -> Should go to: mysite.co.uk/services/exhibitions.php (A list page of exhibitions) Takes me to ->mysite.co.uk/services/exhibitions/ (Directory overview) 对,我的目录列表是 mysite.co.uk/services/ mysite.c

当我点击一个特定的链接时,它会将我带到目录文件列表,而不是它应该是的文件

Click link -> Should go to: mysite.co.uk/services/exhibitions.php (A list page of exhibitions)
Takes me to ->mysite.co.uk/services/exhibitions/ (Directory overview)
对,我的目录列表是

mysite.co.uk/services/
mysite.co.uk/services/exhibitions.php
mysite.co.uk/services/exhibitions/exhibitions1.php
mysite.co.uk/services/exhibitions/exhibitions2.php
我知道这与删除文件扩展名的.htaccess有关,我需要它,但我不知道如何解决这个问题。有什么想法吗

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L]
最终的url应该如下所示:mysite.co.uk/services/experiments/experiments 1


Options+FollowSymLinks-多视图
选项+索引
AcceptPathInfo关闭
重新启动发动机
重写基/
#压缩文本文件
SetOutputFilter放气
#过期标头
过期于
ExpiresDefault“访问加1秒”
ExpiresByType图像/x图标“访问加2592000秒”
ExpiresByType图像/jpeg“访问时间加2592000秒”
ExpiresByType图像/png“访问加2592000秒”
ExpiresByType image/gif“访问时间加2592000秒”
过期按类型应用程序/x-shockwave-flash“访问加2592000秒”
ExpiresByType文本/css“访问时间加604800秒”
ExpiresByType文本/javascript“访问时间加216000秒”
ExpiresByType应用程序/javascript“访问时间加216000秒”
ExpiresByType应用程序/x-javascript“访问时间加216000秒”
ExpiresByType text/html“访问加600秒”
ExpiresByType应用程序/xhtml+xml“访问加600秒”
#开始缓存控制头
标题集缓存控制“最大年龄=2592000,公共”
标题集缓存控制“最大年龄=604800,公共”
标题集缓存控制“最大年龄=216000,专用”
标题集缓存控制“最大年龄=600,专用,必须重新验证”
#开始关闭ETag
标题未设置ETag
FileTag无
#开始删除上次修改的标题
上次修改未设置的标题
#错误代码
错误文档404http://mysite.co.uk/404
#强制非www域
RewriteCond%{HTTP_HOST}^www\.mysite\.co.uk$[NC]
重写规则(.*)http://mysite.co.uk/$1[R=301,L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$$1.php[L]

尝试以下PHP扩展规则:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*)$ $1.php [L]

这是唯一的规则还是有更多的规则?不,我有压缩,重定向和其他一些位,让em把它们加进去。虽然我很确定这是因为这个规则。好的,在我的答案中试试这个规则。这并没有起作用,给了我一个选择题这到底是什么
选择题
。你能提供一些细节吗?什么不起作用,你尝试了什么URL?我还没有摆脱选择题,但我回到了原点,我现在已经取消了目录列表。我点击地址mysite.co.uk/services/experiments.php,它会把我带到mysite.co.uk/services/experiments/,这是一个普通用户的错误,因为他们再也无法访问它了。如果浏览器中的
/experiments.php
正在变成
/experiments
,那么您就没有显示所有规则。将完整的.htaccess放在问题中,看看是否还有其他.htaccess。我已经看到了,但目前有一个重定向规则:
/services/experiments.php
=>
/services/experiments
。还有.htaccess的
/services/
目录吗?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*)$ $1.php [L]