example.com/dir/index.php 有效,但 example.com/dir/ 不起作用



我使用的是最新的php和apache的Linux CENT OS 6.3,

on httpd.conf我得到

DirectoryIndex index.php
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>

当我去:

example.com/mydir/index.php 

可以,但是example.com/mydir/

不行

这对我来说是个问题。

实际上,它可能与。htaccess文件中的内容有关:

RewriteEngine on
options +FollowSymLinks
RewriteRule    ^([A-Za-z-0-9-_.]+)/pics/([A-Za-z-0-9-_.]*.*)?$ users/$1/pics/$2
#levanta de users/pics
RewriteRule    ^([A-Za-z-0-9-_.]+)/vids/([A-Za-z-0-9-_.]*.*)?$ users/$1/vids/$2
#levanta de users/vids
RewriteCond    %{REQUEST_URI} ^.*.(html|png|jpg|gif|jpeg|css|js)
RewriteRule ^([^/]+)(/(.*))?$ - [L]

RewriteCond    %{REQUEST_URI} !settingsd
RewriteRule ^settings settingsd/settings.php
RewriteRule ^lists/ master/index.php
RewriteRule ^lists/(.*)$ $1

RewriteRule ^index.(php) master/index.php
#levanta de master/

RewriteCond    %{REQUEST_URI} !.*.(css|js|php)|pokes|settings|subgram
RewriteRule   ^([A-Za-z-0-9-_.]+)?$ master/$2
RewriteCond    %{REQUEST_URI} !pokesd
RewriteRule ^pokes(.*)$ pokesd/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond    %{REQUEST_URI} !pokes|subgram
RewriteRule    ^([A-Za-z-0-9-_.]+)/([A-Za-z-0-9-_.]+.php)?$    master/$2
#levanta de master/

RewriteRule   ^messages/ messages.php
RewriteRule    ^notes/me/ notes/notes.php 
RewriteRule    ^notes/drafts/ notes/notes_drafts.php
RewriteRule    ^notes/tagged/ notes/notes_tagged.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !photos_albums|photos_stream
RewriteRule ^([A-Za-z-0-9-_.]+)/photos $1/view_photos.php
RewriteRule ^([A-Za-z-0-9-_.]+)/photos_albums $1/view_photos.php?sk=photos_albums
RewriteRule ^([A-Za-z-0-9-_.]+)/photos_stream $1/view_photos.php?sk=photos_stream
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([A-Za-z-0-9-_.]+)/friends $1/view_friends.php

RewriteCond    %{REQUEST_URI} !listsd
RewriteRule ^bookmarks/lists(.*)$ bookmarks/listsd/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^v(.*)$ v/video_embed.php?sbid=$1
RewriteCond    %{REQUEST_URI} !.*.(css|js|php)|notes/me/|notes/drafts/|notes/tagged/
RewriteRule    ^notes/ notes/

RewriteRule ^r.php$ gvrrgvrr45.php$1

这与这里的规则有关,因为当我将其全部剥离并上传到服务器时,它突然工作了,相同的。htaccess在Windows中工作,但在此配置中不起作用

与。htaccess无关。这是你的Apache设置(/etc/httpd.conf)

检查你的DirectoryIndex指令设置。它应该至少有index.php来支持您的需求:

DirectoryIndex index.html index.htm index.shtm index.shtml index.php  

或删除任何不适合您需要的条目。

最新更新