htaccess url重写为.php
我有下面的网址htaccess url重写为.php,php,.htaccess,Php,.htaccess,我有下面的网址 http://www.***.org/aaddress.php?state=nm&office_id=852&office_name=CLOVIS&state_name=New%20Mexico http://www.*****.org/aaddress-state-nm-office_id-852-office_name-CLOVIS-state_New%20Mexico.php 我想把它改成下面的url http://www.***.org/aad
http://www.***.org/aaddress.php?state=nm&office_id=852&office_name=CLOVIS&state_name=New%20Mexico
http://www.*****.org/aaddress-state-nm-office_id-852-office_name-CLOVIS-state_New%20Mexico.php
我想把它改成下面的url
http://www.***.org/aaddress.php?state=nm&office_id=852&office_name=CLOVIS&state_name=New%20Mexico
http://www.*****.org/aaddress-state-nm-office_id-852-office_name-CLOVIS-state_New%20Mexico.php
我使用了下面的访问代码
Options +FollowSymLinks
RewriteEngine on
RewriteRule aaddress-state-(.*)-office_id-(.*)-office_name-(.*)-state_name-(.*)\.php aaddress.php?state=$1&office_id=$2&office_name=$3&state_name=$4
它不工作,当我单击“写入”时,地址没有转换为.php页面
我在页面内的链接作为第一个链接,并希望将其更改为.php链接
RewriteRule ^aaddress-state-(.*)-office_id-(.*)-office_name-(.*)-state_name-(.*)\.php aaddress.php?state=$1&office_id=$2&office_name=$3&state_name=$4 [QSA,L]
用这个,
RewriteRule ^aaddress-state-([^-]+)-office_id-([^-]+)-office_name-([^-]+)-state_name-([^\.]+)\.php$ aaddress.php?state=$1&office_id=$2&office_name=$3&state_name=$4
^
和$
将匹配整个url,[^-]+
将匹配任何内容,除非遇到-
。和[^\.]+
将匹配任何内容,除非遇到
这将匹配aaddress-state-nm-office\u id-852-office\u name-CLOVIS-state\u name-New Mexico.php
但是不是
aaddress-state-nm-office\u id-852-office\u name-CLOVIS-state\u New Mexico.php
注意在后面的URL中,新墨西哥州缺少的名称-
部分。这是一个基于递归的通用解决方案,无论查询字符串有多长都有效
Options +FollowSymLinks -MultiViews
RewriteEngine on
RewriteBase /
RewriteRule ^aaddress\.php$ aaddress-%{QUERY_STRING} [L]
RewriteRule ^([^&]+)&([^&]+)(&.*)?$ $1-$2$3 [L]
RewriteRule ^([^&])& $1 [L]
RewriteRule ^([^=]+)=([^=]+)(=.*)?$ $1-$2$3 [L]
RewriteRule ^([^=])= $1 [L]
这将在内部将您的示例URL重定向到:
/aaddress-state-nm-office\u id-852-office\u name-CLOVIS-state\u name-New+Mexico
,方法是将查询字符串的&
和=
替换为连字符-
谢谢您的回复,但它仍然不起作用:(感谢您的回复,仍然有相同的问题,url显示为它,没有任何更改。请参阅我的更新。您正在传递状态
,但匹配状态
。再次感谢,我还无法实现此目标,有一些错误,但我还无法发现它。+1对于有趣的问题,我将尝试提出一个合适的答案。tha谢谢你,我会尽快试试这个