我想用/:
重定向地址mywebsite.com/img-41/
到另一个没有/:
的人mywebsite.com/img-41
当然41是变量。 我试过这个:
RewriteRule ^img-([0-9]*)/$ /img-$1 [L,R=301,NC]
但它不起作用:(
你能帮帮我吗? 先谢谢,卢卡斯。编辑: SetEnv PHP_VER 5_TEST SetEnv REGISTER_GLOBALS 0
Options +FollowSymlinks
# Activation du module de réécriture d'URL :
RewriteEngine on
RewriteRule ^img-([0-9]*)$ img.php?&numlsv=$1 [L]
RewriteRule ^img-([0-9]*)/$ img.php?&numlsv=$1 [L]
RewriteRule ^home-([0-9]*)-([a-zA-Z0-9]*)$ index.php?&numpage=$1&auteur=$2 [L]
RewriteRule ^home-([0-9]*)$ index.php?&numpage=$1 [L]
RewriteRule ^img-([0-9]*)/$ /img-$1 [L,R=301,NC]
Rewritecond %{HTTP_HOST} ^www.mywebsite.com$
Rewriterule ^(.*) http://mywebsite.com/$1 [QSA,L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
SetEnv SESSION_USE_TRANS_SID 0
这是整个.htaccess。
当我说它不起作用时,我的意思是当我用斜杠到达我的地址时,导航器停留在这个地址中,它没有没有斜线的地址:(
答案 0 :(得分:1)
尝试添加像这样的重写基础
RewriteBase /
RewriteRule ^img-([0-9]+)/$ img-$1 [L,R=301,NC]
答案 1 :(得分:0)
您的重写规则仅重定向以img
尝试添加/
,如下所示:
RewriteRule ^/img-([0-9]*)/$ /img-$1 [L,R=301,NC]
我在你编辑之前回复了 您已经在此行之前执行了带有L标志的内部重定向
Options +FollowSymlinks
# Activation du module de réécriture d'URL :
RewriteEngine on
RewriteRule ^img-([0-9]*)/$ /img-$1 [L,R=301,NC]
RewriteRule ^img-([0-9]*)/$ img.php?&numlsv=$1 [L]
RewriteRule ^home-([0-9]*)-([a-zA-Z0-9]*)$ index.php?&numpage=$1&auteur=$2 [L]
RewriteRule ^home-([0-9]*)$ index.php?&numpage=$1 [L]
Rewritecond %{HTTP_HOST} ^www.mywebsite.com$
Rewriterule ^(.*) http://mywebsite.com/$1 [QSA,L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
SetEnv SESSION_USE_TRANS_SID 0
答案 2 :(得分:0)
订单在规则方面很重要,您有规则可以映射您尝试匹配的模式之前执行重定向的规则。因此,重定向永远不会发生,URI已经被更改了!
RewriteRule ^img-([0-9]*)$ img.php?&numlsv=$1 [L]
RewriteRule ^img-([0-9]*)/$ img.php?&numlsv=$1 [L]
RewriteRule ^home-([0-9]*)-([a-zA-Z0-9]*)$ index.php?&numpage=$1&auteur=$2 [L]
RewriteRule ^home-([0-9]*)$ index.php?&numpage=$1 [L]
RewriteRule ^img-([0-9]*)/$ /img-$1 [L,R=301,NC]
这里,第二条规则:
RewriteRule ^img-([0-9]*)/$ img.php?&numlsv=$1 [L]
具有与上一条规则完全相同的模式:
RewriteRule ^img-([0-9]*)/$ /img-$1 [L,R=301,NC]
因此,第一条规则与之匹配,最后一条规则永远不会被应用。您始终首先要重定向:
Options +FollowSymlinks
# Activation du module de réécriture d'URL :
RewriteEngine on
RewriteRule ^img-([0-9]*)/$ /img-$1 [L,R=301,NC]
Rewritecond %{HTTP_HOST} ^www.mywebsite.com$
Rewriterule ^(.*) http://mywebsite.com/$1 [QSA,L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteRule ^img-([0-9]*)$ img.php?&numlsv=$1 [L]
RewriteRule ^img-([0-9]*)/$ img.php?&numlsv=$1 [L]
RewriteRule ^home-([0-9]*)-([a-zA-Z0-9]*)$ index.php?&numpage=$1&auteur=$2 [L]
RewriteRule ^home-([0-9]*)$ index.php?&numpage=$1 [L]