基本上我有这样的目录设置:
/.htaccess
/home.php
/office.php
/office/tutorials.php
和.htaccess这样的文件:
<Files ~ "^\.(htaccess|htpasswd)$">
deny from all
</Files>
order deny,allow
# setup
DirectoryIndex /home.php
ErrorDocument 403 /err403.php
ErrorDocument 404 /err404.php
# remove trailing slash
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
# To internally forward /dir/file to /dir/file.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC]
RewriteRule ^(.+?)/?$ /$1.php [L]
现在正在发生以下情况。 当我致电&#34; www.domain.com/home"它完美地运作。 但是当我试着打电话给www.domain.com/office"时,我总是得到没有样式的home.php页面,它显示我在&#34; www.domain.com/office/ &#34;,所以我想在名为office的目录中。
我尝试重命名office /目录,然后office.php文件再次完美运行,但是我需要将该目录命名为与文件相同,因此URI看起来很干净并且相互构建就像这样:
www.domain.com/office (own page)
www.domain.com/office/tutorials (own page)
提前感谢!
答案 0 :(得分:0)
你的倒数第三行是:
RewriteCond %{REQUEST_FILENAME} !-d
您已经要求Apache不要将www.domain.com/office
映射到office.php
,因为有一个直接调用的office
。如果这不是您的愿望,请删除该行。