.htaccess - 添加尾随斜杠和内部重定向

时间:2015-11-16 20:35:58

标签: regex apache .htaccess mod-rewrite

在我的.htaccess文件中,我正在使用代码:

RewriteEngine on
RewriteRule ^learn/(.*?)/(.*?)/ /learn.php?lang=$1&topic=$2
RewriteRule ^videos/(.*?)/(.*?)/ /video.php?lang=$1&topic=$2

工作正常。但它适用于http://domain.com/learn/v1http://domain.com/learn/v1/(注意斜线变化)。 我想将非斜杠版本重定向到斜杠版本,保持上面的内部重定向。我试图添加一个RewriteRule来做到这一点,但后来它给了我404.

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

尝试:

RewriteEngine on

## Adding a trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=302]

# internal rewrites
RewriteRule ^learn/(.*)/(.*)/$ learn.php?lang=$1&topic=$2 [L,QSA]
RewriteRule ^videos/(.*)/(.*)/$ video.php?lang=$1&topic=$2 [L,QSA]