2014-12-04 119 views
0

如果具有相同问题的主题已经存在,但我找不到它,我很抱歉。.htaccess /子目录/ - > /子目录/索引

所以。我的问题是,我有一个子目录中的网页;如..

/无功/网络/例子/

现在,我真正需要的:

当我尝试,在网站上得到像网址:www.example.com/examplesubdir/ ; dirname($ _ SERVER ['REQUEST_URI'])没有返回任何东西。

这就是为什么我想从www.example.com/examplesubdir/重写它www.example.com/examplesubdir/index

我现在的.htaccess文件看起来是这样的:

Options -Indexes +FollowSymLinks -MultiViews 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d [OR] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([A-Za-z0-9]{18})_([A-Za-z0-9]{3,4})$ show_file.php?f=$1&t=$2 [L,QSA] 
RewriteRule ^([A-Za-z0-9]{18})$ show_file.php?f=$1 [L,QSA] 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

谢谢,并感谢任何帮助。

+0

是'/ examplesubdir /'一个真正的目录?它有一个'index.php'吗? – anubhava 2014-12-04 11:57:53

+0

这是/ var/www/<这里的文件应该出现的子目录;/var/www/example/<这是index.php所在的位置;换句话说:/ var/www/- > www.example.com |/var/www/example/- > www.example.com/example/ – mexikanoZ 2014-12-04 13:22:37

回答

0

RewriteCond仅适用于下一个RewriteRule

这个替换您/var/www/.htaccess代码:

Options -Indexes +FollowSymLinks -MultiViews 

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L] 

RewriteRule ^([A-Za-z0-9]{18})_([A-Za-z0-9]{3,4})$ show_file.php?f=$1&t=$2 [L,QSA] 
RewriteRule ^([A-Za-z0-9]{18})$ show_file.php?f=$1 [L,QSA] 

RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^(.+?)/?$ $1.php [NC,L]