我的.htacess中设置了几个重写版本。它目前设置为将所有文件指向/ core/index.php,这很好。
我使用svn:external检查项目中的核心文件和功能。现在当我有一个与我的功能同名的目录时出现问题,例如我将“property”检出到名为“property”的文件夹中。我添加了一条规则,以便在文件存在时忽略它并使用与上面相同的行为,但是当我尝试时 / property 它将网址更改为 / property /?url = property 但当我做 / property / 时,它仍然是我所追求的。
我几乎就在那里,但是当url没有/ after属性(或者什么文件存在)时,只是无法弄清楚如何不显示/?url = property( / property / < / i>的)。
这是我的.htaccess - 请耐心等待我的重写对我来说是新的理由,这甚至可能都不正确。基本上下面我有2个规则,第一个用于所有不存在的文件,然后第二个用于存在的文件 - 但我想忽略并使用与第一个规则相同的行为。
#re-write for file that don't exist
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /core/index.php?url=$1 [L]
</IfModule>
#re-write for file that do exist
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /core/index.php?url=$1 [L]
</IfModule>
答案 0 :(得分:0)
尝试在.htaccess :
上添加此行 DirectorySlash On
## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/$
RewriteRule . %{REQUEST_URI}/ [L,R=301]
如果请求是针对目录的话,这将始终添加斜杠,您将能够避免此问题。