0

所以,如果我有以下网址:

http://www.example.com/Foo/Bar/Drink/

URL 的最后一个节点(在本例中为 Drink)将是一个目录,在这种情况下我想提供 index.php,或者它将是一个名为“Drink.php”的文件,在这种情况下我想提供服务他们那个文件。

http://www.example.com/显然会为 index.php 服务。

两者都将保持带有斜杠的“漂亮 URL”外观。

这可能吗?该站点将始终遵循这种格式,我真的在努力避免必须通过主索引文件来路由所有内容。

4

2 回答 2

1

将此代码放在站点根目录下的 .htaccess 中

Options -MultiViews
RewriteEngine ON    

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (.+) /$1/index.php [QSA,L]

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+?)/?$ /$1.php [QSA,L]
于 2013-06-21T19:22:09.587 回答
0

我认为重写规则可能会奏效。尝试这样的事情:

Options +FollowSymLinks
DirectoryIndex index.php

RewriteEngine On
RewriteBase /Foo/Bar/Drink
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /Foo/Bar/Drink HTTP/
RewriteRule ^Drink.php$ http://www.yourdomain.com/Foo/Bar/Drink [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /Foo/Bar/Drink/Drink.php [L]
于 2013-06-21T19:22:44.977 回答