.htaccess重写从请求中删除目录名称

时间:2011-02-23 11:06:02

标签: .htaccess mod-rewrite

我正在尝试从[http://test.site.com/pagename--city/]等请求重定向到[http://test.site]。 com / state / pagename - city /]然后返回[http://test.site.com/pagename--city/]。 'state / pagename - city'是服务器上的物理目录。因此,如果有人点击[http://test.site.com/pagename--city/],我需要执行[http://test.site.com/state/pagename--city/index.php]但是要保留的网址[http://test.site.com/pagename--city/]。任何帮助赞赏。日Thnx。

.htaccess文件

Options +FollowSymlinks

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_URI} /(.*)--(.*)/?$
RewriteCond %{REQUEST_URI} !/state/
RewriteRule .* http://%{HTTP_HOST}/state%{REQUEST_URI} [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l


RewriteRule .* page.php?&[|]v1||%{REQUEST_URI}[|]v2||-[|]v3||%{HTTP_HOST}[|]v4||%{REQUEST_FILENAME}[|]v5||EOL[~|~]= [QSA,L]

2 个答案:

答案 0 :(得分:1)

RewriteRule ^(.*)--(.*)$ /state/$1--$2/index.php&%{QUERY_STRING} [L]

答案 1 :(得分:0)

不太清楚,这是你在找什么?

RewriteRule ^([^-]+)--(.+)$    /state/$1--$2/index.php