0

这是我的 htaccess 的样子:

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www.site.com$ [NC]
RewriteRule .? http://site.com%{REQUEST_URI} [R=301,L]

RewriteCond %{REQUEST_URI} /page1/([^?].*)$ [NC]
RewriteRule /page1/(.*)$ /page1/?$1 [L] # change /page1/stuff to /page1/?stuff
# End rewriting for page1


RewriteCond %{REQUEST_URI} /page2/([^?].*)$ [NC]
RewriteRule /page2/(.*)$ /page2/?$1
# End rewriting for page2



RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*index\.php\ HTTP/
RewriteRule ^(([^/]+/)*)index\.php$ http://%{HTTP_HOST}/$1 [R=301,NS,L]

Options -Indexes

我还想要的是,如果用户访问它,site.com/page1/stuff或者site.com/page1/stuff/more它会在地址栏中添加一个斜杠并将其更改为site.com/page1/stuff/site.com/page1/stuff/more/但我没有尝试过任何工作。有没有办法做到这一点而不会导致重定向循环?

我希望我所有的网址都有一个斜杠,我看到目录已经这样做了。

编辑:为了澄清,我希望用户可以看到尾随斜杠,而不是?

4

1 回答 1

0

感谢@LazyOne 的链接,无论如何这有效:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
于 2012-04-04T13:09:36.470 回答