我有我用php编写的网站。Htaccess重定向问题
的地址如下:
http://www.site.com/page.php
我想任何请求:
www.site.com/page.php
或
www.site.com/page
要前往:
w ww.site.com/page/
(并强制WWW)
谁能帮助我?
我有我用php编写的网站。Htaccess重定向问题
的地址如下:
http://www.site.com/page.php
我想任何请求:
www.site.com/page.php
或
www.site.com/page
要前往:
w ww.site.com/page/
(并强制WWW)
谁能帮助我?
RewriteRule ^page.php$ http://www.site.com/page/ [QSA,L]
RewriteRule ^page$ http://www.site.com/page/ [QSA,L]
也许这会奏效。
对于域:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
对于你的第一个目录:
RewriteRule ^/([^/]*)(\.php)? /$1/
这应该做你想要的东西:
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/([^\s]*?)\.php [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/([^\s]*?[^/\s])\s [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST}/%1 ^(www\.)?(.*?)/?$
RewriteRule^http://www.%2/ [R=301,L]
# Assuming you want to write the request back to page.php too...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ $1.php
蒂姆的答案是最接近的,但它也确实将斜线添加到图像和css ...
因此,采取添的回答,并稍微修改它给了我们:
RewriteEngine on
RewriteRule \.(css|jpe?g|gif|png)$ - [L]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/([^\s]*?)\.php [OR]
RewriteCond %{THE_REQUEST} ^[A-Z]+\s/([^\s]*?[^/\s])\s [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST}/%1 ^(www\.)?(.*?)/?$
RewriteRule^http://www.%2/ [R=301,L]
# Assuming you want to write the request back to page.php too...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ $1.php
这应该工作!
这似乎是从'http:// domain.com/page'重定向到'http:// www.domain.com',而不是保留页面。 – Robert 2010-08-19 20:11:05