大学宾果网站的URL重写

时间:2017-10-14 06:22:43

标签: php .htaccess

这是我的.htaccess文件的代码:

RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^alluniversitiesview/([^\.]*)\.html$    alluniversitiesview.php?search=$1    [NC,L]    # Handle product
RewriteRule    ^search/([^\.]*)\.html$    index.php?search=$1    [NC,L]    # Handle product
ErrorDocument 404 /search/404.html
ErrorDocument 401 /search/401.html
ErrorDocument 500 /search/500.html
ErrorDocument 403 /search/403.html
ErrorDocument 400 /search/400.html

我的要求: 如果你去to

http://universitybingo.com/search/HARVARD+UNIV.html
http://universitybingo.com/search/HARVARD+UNI5V!.ER&#37SITY375E.html

工作正常。

但是当url包含(%)时,它不像上面那样工作

来自universitybingo.com

的示例

但不行     http://universitybingo.com/search/HARVARD+UN%IV.html

2 个答案:

答案 0 :(得分:1)

%是网址的转义字符。

但是根据其他答案,例如htaccess to escape percent (%) from URLhttps://www.webmasterworld.com/apache/4220265.htm 您可以尝试使用mod_rewrite的{​​{3}}:

RewriteRule    ^alluniversitiesview/([^\.]*)\.html$    alluniversitiesview.php?search=$1    [NC,L,B]    # Handle product
RewriteRule    ^search/([^\.]*)\.html$    index.php?search=$1    [NC,L,B]    # Handle product

答案 1 :(得分:1)

检查mod重写引擎的第一个是否开启?

以后可以使用以下html代码:

RewriteRule ^alluniversitiesview/([^\.]*)\.html$ alluniversitiesview.php?search=$1    [NC,L,B]    # Handle product
RewriteRule ^search/([^\.]*)\.html$ index.php?search=$1    [NC,L,B]    # Handle product