0

我想从 url 隐藏我所有的页面名称和扩展名,

htt://www.domain.com/innerpage.php
to
http://www.domain.com/

http://www.domain.com/subfolder/innerpage.php
to
http://www.domain.com/subfolder/

http://www.domain.com/subfolder/subfolder/innerpage.php
to
http://www.domain.com/subfolder/subfolder/

我用过

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\..+$
RewriteCond %{REQUEST_URI} !/$
RewriteRule ^(.*)$ http://www.domain.com/$1/ [R=301,L]
RewriteRule ^(.*)$ http://www.domain.com/subfolder/$1/ [R=301,L]
RewriteRule ^(.*)$ http://www.domain.com/subfolder/subfolder/$1/ [R=301,L]
RewriteRule ^(.*)/$ $1.php [L]

它不起作用

4

2 回答 2

0

我认为这对你有用

DirectoryIndex innerpage.php index.php index.html index.htm

把它作为你的第一行.htaccess。该指令将查找innerpage.php是否没有为目录指定页面。如果您想隐藏站点 URL 中的所有页面,那么 IMO 不是一个好主意。

于 2013-04-07T15:27:46.090 回答
-1

试试这组指令:

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^/?$ /innerpage.php
RewriteRule ^([a-z0-9]+)/?$ /$1/innerpage.php
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/?$ /$1/$2/innerpage.php

RewriteRule ^innerpage.php$ / [R]
RewriteRule ^([a-z0-9]+)/innerpage.php$ /$1 [R]
RewriteRule ^([a-z0-9]+)/([a-z0-9]+)/innerpage.php$ /$1/$2 [R]

并惊讶会发生什么......

于 2013-04-07T15:24:06.830 回答