我正在使用此RewriteRule ^page/([0-9]+)/ page.php?id=$1
将网址http://example.com/page.php?id=00001更改为http://example.com/page/00001/,但任何图片或CSS / JS / etc页面都不再正确链接。
EG:http://example.com/_img/image.jpg变为http://example.com/page/00001/_img/image.jpg
有没有办法改变整个目录?例如,我试过这个:
RewriteRule ^page/([0-9]+)/(.*?) $2
但那没用。谢谢你的帮助!
修改
好吧,这似乎有效,但只有其中一个工作取决于哪个是第一个。
RewriteEngine on
RewriteRule ^page/([0-9]+)/(.*)$ $2
RewriteRule ^page/([0-9]+)/ page.php?id=$1
这样它会忽略第二个,因此http://example.com/page/00001/现在是http://example.com/index.php?id=00001而不是http://example.com/page.php?id=00001
是否有可能还考虑到第二个?
答案 0 :(得分:0)
经过多次尝试后,事实证明我做错了。它应该是这样的:
RewriteEngine on
RewriteRule ^page/([0-9]+)/$ page.php?id=$1
RewriteRule ^page/([0-9]+)/(.*) $2
这使http://example.com/page/00001/实际链接到http://example.com/page.php?id=00001,但其他任何内容(例如http://example.com/page/00001/_img/image.jpg)都使用真实的网址http://example.com/_img/image.jpg。
答案 1 :(得分:0)
这样的Mayby会起作用:
RewriteEngine On
RewriteRule ^page/([0-9]+)/(.+)$ $2
RewriteRule ^page/([0-9]+)/?$ /page.php?id=$1