如何仅在index.php上删除斜杠尾随?

时间:2012-12-20 15:44:23

标签: .htaccess url mod-rewrite

我的脚本位于我的根域中的目录中,但始终重定向:

http://www.mydomain.com/script

http://www.mydomain.com/script/

我想仅在index.php(主页)中删除尾部斜杠以删除该重定向,如果我输入的URL没有正确的斜杠重定向到

http://www.mydomain.com/script

我的HTACCESS代码是:

Options +FollowSymLinks
Options -Indexes
ServerSignature Off
RewriteEngine on

# Force NON WWW TO WWW in all pages.
RewriteBase /script
RewriteCond %{THE_REQUEST} ^.*\/index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]
RewriteCond %{http_host} ^mydomain.com$ [nc]
RewriteRule ^(.*)$ http://www.mydomain.com/script/$1 [r=301,nc,L]

# Remove the .php extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php

# Force the trailing slash at the end of urls
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

# SEO URLs
RewriteRule ^post/([^/\.]+)/?$ post.php?id=$1 [L]

1 个答案:

答案 0 :(得分:0)

也许你可以尝试使用它:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9\-]+)/$ $1 [R,L]

它在我的网站上运行良好。 由于谷歌的搜索结果在我的网站升级之前显示旧的结果。 很多搜索结果显示

homepage.com/property/

但是对于新网站(CMS),如果最后一个<{1}}

,则无法访问该属性页面

所以我的/上的代码就像魔法一样。 即使Google的搜索结果在地址末尾有.htaccess