我想使用不带斜线的页面。 所以现在我想我的url与一个结尾的斜线redirect(使用.htaccess)到相同的url,而不是结尾的斜杠。
<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文件中:
.htaccess目录的RewriteRule
htaccess重写传递两个variables或一个取决于如果两者都可用?
.htaccess用get参数重写url
.htaccess:如何限制IP访问单个文件?
特殊字符和URL重写
RewriteRule (.*)/$ $1 [R,L]
但是:example.com/public/page/view/2/
redirect到:example.com/**D:/webserver/**public/page/view/2
这显然不是我想要的…
lighttpd上的apache .htaccess文件
.htaccess mod_rewrite基于IP的redirect:如何将所有stream量redirect到特定的子目录,除了我的IP?
.htaccess将子域redirect到域
使用HTTP_HOST来标识以前的主机名称
为什么你有几个.htaccess文件? 在哪里重定向到公共/ $ 1存储? 你可能会面临压倒性的RewriteRule指令,这些指令会让你感到复杂。
不知道你的设置是很难说你应该如何使用重写 – 你能指定什么东西实际上看起来像?
wordpress的重定向取决于你的永久链接结构是什么。 因此,对.htaccess所做的任何更改都不会有什么帮助,因为wordpress会为你添加/删除它们,并在.htaccess完成之后执行wp_redirect()。 在最糟的情况下,你最终会有一个重定向循环。
// perhaps an if(is_something()) before here ... add_filter('redirect_canonical','__return_false');
你应该把这个包含在一个if语句中,或者你对某个页面/目录等进行检查的地方。 把上面的代码直接放在你的函数文件中会关闭wordpress的重定向,可能会破坏你的东西。
你有没有尝试添加:
RewriteBase /public
<Ifmodulee mod_rewrite.c> RewriteEngine On RewriteBase /public RewriteRule (.*)/$ $1 [R,L] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.PHP?url=$1 [PT,L] </Ifmodulee>
下面是一个Apache文档的例子,你可以用它来解决你的问题:
尾随斜线问题
描述:
每个站长都可以在引用目录的URL上唱一首关于尾部斜线问题的歌曲。 如果它们丢失了,服务器会抛出一个错误,因为如果你说/〜quux / foo而不是/〜quux / foo /,那么服务器搜索一个名为foo的文件。 而且因为这个文件是一个它抱怨的目录。 其实它试图在大多数情况下解决它自己,但有时这个机制需要你模仿。 例如,你已经做了很多复杂的URL重写CGI脚本等
解:
这个微妙的问题的解决办法是让服务器自动添加结尾的斜杠。 要正确地做到这一点,我们必须使用外部重定向,所以浏览器正确地请求后续的图像等。如果我们只做了一个内部重写,这只适用于目录页面,但是当这个页面包含任何图像时会出错与相对URL,因为浏览器会请求一个内联的对象。 例如,在/ ~quux / foo / index.html中对image.gif的请求将变成/ ~quux/image.gif而不需要外部重定向!
所以,要做到这一点,我们写道:
RewriteEngine on RewriteBase /~quux/ RewriteRule ^foo$ foo/ [R]
疯狂和懒惰甚至可以在homedir的顶级.htaccess文件中执行以下操作。 但请注意,这会造成一些处理开销。
RewriteEngine on RewriteBase /~quux/ RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.+[^/])$ $1/ [R]
资源