我想重写这个网址:
http://www.mysite/folder/dept/accounting/name.php?id=12
到
http://www.mysite/folder/dept/accounting/name/12
我找到了使用.htaccess重写网址的示例,但是当相关目录不是TLD时,它们似乎不起作用。
答案 0 :(得分:2)
RewriteEngine On
RewriteRule ^(folder/dept/accounting/name)/(\d+)/?$ $1.php?id=$2
答案 1 :(得分:0)
如果我理解你的问题是正确的,那么这些规则应该适用于你的DOCUMENT_ROOT .htaccess文件:
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=(.*)$ [NC]
RewriteRule ^([^.]+)\.php$ /$1/%1? [L,NC]
这将内部重定向 URI为/folder/dept/accounting/name.php?id=12
至/folder/dept/accounting/name/12
如果我没有正确理解你的问题,你实际上想要与上述答案相反,那么在.htaccess中使用此代码:
Options +FollowSymlinks -MultiViews
RewriteEngine on
RewriteCond %{QUERY_STRING} !^id= [NC]
RewriteRule ^(.*)/(\d+)/?$ /$1.php?id=$2 [L]
这将内部重定向一个/folder/dept/accounting/name/12
到/folder/dept/accounting/name.php?id=12
的URI。