【发布时间】:2009-06-30 14:07:27
【问题描述】:
我想处理没有尾部斜杠的页面。所以现在我希望我的带有斜杠的 URL 重定向(使用 .htaccess)到没有斜杠的同一个 URL。
我有两个 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (.*) public/$1
</IfModule>
还有一个在我的公共文件夹中:
DirectoryIndex index.html index.php
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
我尝试将以下规则添加到公用文件夹中的 .htaccess 文件中:
RewriteRule (.*)/$ $1 [R,L]
然后: example.com/public/page/view/2/
重定向到: example.com/**D:/webserver/**public/page/view/2
这显然不是我想要的……
【问题讨论】:
-
我不确定如何解决您的问题,但我不确定这是否真的是您应该做的。据我了解,请求这样的网址:example.com/myDir 实际将用户重定向到example.com/myDir。这种额外的重定向可以通过尾部斜杠来避免。这个斜线明确地表明“myDir”是一个目录而不是一个文件。
-
你是说尾部斜杠是一些正式/标准/默认符号的一部分。在那种情况下,我有一个类似的问题。如何重定向以添加斜杠 ;-)
-
由于您实际上并没有尝试重定向到目录,因此尾部斜杠对您根本没有帮助 - 事实上,它不会以任何方式做任何事情。你应该随心所欲地选择你喜欢的东西,并在使用中保持一致
标签: apache .htaccess mod-rewrite