2011-03-30 55 views
0

我有一个网站,网址为mysite.com/?p=605,我希望任何包含/?p = 123的网址可以用301重写为mysite.com/remap.php?page_id=123。Can任何人都可以为此提供一个简单的重写?htaccess rewrite

在此先感谢您的帮助。

约翰

回答

0
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^p\=([0-9]+)$ 
RewriteRule ^$ /remap.php?page_id=%1 [R=301,L] 

应该工作

+0

你好,谢谢你的职位。我本来希望能够与其他重写不冲突,但是事实并非如此。我有一个重写规则RewriteRule^index \ .php $ - [L] RewriteCond%{REQUEST_FILENAME}!-f你能想出一种方法来阻止它冲突吗? RewriteCond%{REQUEST_FILENAME}!-d RewriteRule。 /index.php [L] – user505988 2011-03-30 13:35:14

+0

你给的,两条重写规则对我来说没有意义。您只需删除它们,作为他们正在做的唯一事情 - 复制默认apache行为,对于PHP - 为目录URL加载index.php/index.html。此外,如果您在规则末尾注意到“L”标志 - 也就是说,如果该规则被触发,它将停止匹配过程,并且不会尝试匹配访问文件中较低的规则。 – Deele 2011-03-31 06:46:55