【发布时间】:2016-02-04 16:41:16
【问题描述】:
当前网址:
domain/index.php?id=p123
我想要:
- 添加www
- 删除:index.php
- 删除“id”表单网址
我是这样做的:
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?id=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?id=$1 [L]
RewriteCond %{THE_REQUEST} /(?:index\.php)?\?id=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L,NE]
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
如果 domian 没有子目录,它可以工作。
如何更改此代码以支持子目录,如下所示:
domian/subdirectory/index.php?id=p123
【问题讨论】:
标签: .htaccess mod-rewrite url-rewriting url-redirection friendly-url