删除网址尾随斜杠

时间:2015-10-13 08:55:10

标签: php regex apache .htaccess mod-rewrite

我建立了一个博客(我希望今天上网),但最近遇到了.htaccess重写以获得更好的网址重定向,但我有一些问题。我使用RewriteRule对实际的重写进行了整理,但后来发现了"尾随斜杠与无尾随斜杠的问题"。

我决定使用无尾随斜杠,但认为因为谷歌将它们视为唯一地址,我最好使用某种重定向,以便从/中移除htaccess网址。

以下是我目前使用的Options -MultiViews DirectoryIndex articles.php RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^articles/([\w-]+)/?$ articles.php?cat=$1 [NC,L,QSA] RewriteRule ^articles/([\w-]+)/([0-9]+)/?$ articles.php?cat=$1&currentpage=$2 [NC,L,QSA] RewriteRule ^article/([0-9]+)/([\w-]+)/?$ article.php?id=$1&title=$2 [NC,L,QSA] RewriteRule ^articles articles.php RewriteRule ^articles/ articles [R=301,L] /* Problem Line */ 代码:

position:relative

除了最后一行之外,所有上述代码都能正常工作,因为当我向URL添加斜杠时,它不会重定向并删除斜杠。如何实现这一目标?是否有修复,以便自动删除任何页面上的尾部斜杠?

1 个答案:

答案 0 :(得分:0)

这样做:

Mat weighted_sum, weights;
// for (Patch p: patches)
//   weighted_sum[loc_p] += w * p
//   weights[loc_p] += w;

vector<Mat> channels(3);
split(weighted_sum, channels);
for (Mat chan: channels) {
    divide(chan, weights, chan);
}
merge(channels, reconstructed);