【发布时间】:2014-08-29 07:07:43
【问题描述】:
目前,我正在使用以下 htaccess 代码从 http://www.domain.com/file 加载 http://www.domain.com/folder/file.php,从 URL 中删除文件夹名称“/folder/”和文件扩展名“.php”。
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/folder%{REQUEST_URI}\.php -f [OR]
RewriteCond %{DOCUMENT_ROOT}/folder%{REQUEST_URI} -d
RewriteRule ^(.*)$ /folder/$1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
现在,我尝试做几乎相同的事情,但使用存储在子文件夹中的文件。
所以,换句话说,我想从http://www.domain.com/subfolder/file 打电话给http://www.domain.com/folder/subfolder/file.php
在这种情况下,隐藏扩展文件不是问题,因为上面代码的最后 2 行可以全局工作,问题在于重写,它不能简单地通过添加“子文件夹”名称来工作。我以为这会奏效,但事实并非如此:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/folder/subfolder%{REQUEST_URI}\.php -f [OR]
RewriteCond %{DOCUMENT_ROOT}/folder/subfolder%{REQUEST_URI} -d
RewriteRule ^(.*)$ /folder/subfolder/$1.php [L]
感谢您的帮助。
【问题讨论】:
标签: apache .htaccess mod-rewrite redirect url-rewriting