我是新的URL重写。通过输入mod重写规则,Ajax和管理请求停止工作
我已经在.htaccess文件中写了一些重写规则。我的问题是,ajax请求和管理部分(两者都由不同的文件管理,名为ajax.php和admin.php)完全不起作用。
以下是我尝试使用国防部重写来实现:
的网址:http://websitename/index.php?page=rr&cn=abc&cid=1
应该是这样的:http://websitename/rr/abc/1
在浏览器的地址栏
和
URL(只有“页面”值):http://websitename/index.php?page=register
应该是这样的:http://websitename/register
在浏览器的地址栏
和
的网址:http://websitename/index.php?page=i&in=banking&iid=12
应该是这样的:http://websitename/industry/banking/12
在浏览器的地址栏
和
的网址:http://websitename/index.php?page=cr&cn=pqr&rid=12
应该是这样的:http://websitename/cr/pqr/12
在浏览器的地址
到目前为止,我能够做到这一点使用下面的规则 但ajax.php和提出的要求admin.php以及一些参数根本没有工作(页面未找到错误)。
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([A-Za-z0-9-]+)/([^/]+)/([^/]+)$ index.php?page=$1&companyname=$2&companyid=$3%{QUERY_STRING} [L,QSA]
RewriteRule ^([^/]+)$ index.php?page=$1%{QUERY_STRING} [L,QSA]
RewriteRule ^view/([^/]+)/([^/]+)/([^/]+)$ index.php?page=$1&industryname=$2&industryid=$3%{QUERY_STRING} [L,QSA]
RewriteRule ^([^/]*)/([^/]*)/review/([^/]*)$ /index.php?page=$1&companyname=$2&reviewid=$3 [L]
这三个国防部重写规则,做工精细但毕竟是通过名为一个单独的文件做了Ajax请求“ajax.php”不工作(未找到页面错误来)
即以下URL应以上述工作的国防部重写规则
http://websitename/ajax.php?action=vote
和
http://websitename/admin.php?page=home
(不想有国防部重写规则的文件ajax.php和admin.php的)
但我无法成功地做到这一点为ajax.php和admin.php
请帮我对此。我真的坚持这一点。
谢谢
你能举出一些网址的例子,以及当你不注释掉第一个时发生了什么。 – 2011-05-05 10:53:41
我们需要查看网址以获得帮助。什么是CSS的网址 - 哪个URL不能正确重写。用这个信息编辑和更新问题。 – 2011-05-05 12:47:38
我现在编辑了我的问题。 – 2011-05-05 13:42:00