我有一个很长的网址://domain/administration/registrar/term_detail.php?a_id=47,我想让它看起来像://domain/administration/registrar/detail/47
我在//domain/administration/registrar/中创建了一个htaccess文件。下面是我在htaccess中的代码,它不起作用。任何关于我做错了什么的建议都是值得赞赏的。
我的htaccess和term_detail.php文件都在registrar文件夹中。
RewriteEngine On
RewriteBase /administration/registrar/
RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ - [L]
RewriteCond %{THE_REQUEST} \s/+registrar/detail\.php\?a_id=([^\s&]+) [NC]
RewriteRule ^ administration/registrar/%1? [R=301,L]
RewriteRule ^administration/registrar/([a-zA-Z0-9]+)/?$ detail?a_id=$1 [L,QSA,NC]发布于 2022-07-19 20:42:55
您可以在您的/administration/registrar/.htaccess中尝试以下规则
RewriteEngine On
RewriteBase /administration/registrar/
## External redirect to /administration/registrar/term_detail/47
RewriteCond %{THE_REQUEST} /([^./]+)(?:\.php)?\?a_id=([^&\s]+)\s [NC]
RewriteRule ^ %1/%2? [R=301,L,NE]
## Internal rewrite to term_detail.php?a_id=47
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/([\w-]+)/?$ $1.php?a_id=$2 [QSA,L]发布于 2022-07-19 16:28:07
在显示的示例和尝试中,请尝试遵循.htaccess规则文件。在测试您的URL之前,请确保清除浏览器缓存。
将您的htaccess文件保存在注册表文件夹中。
RewriteEngine ON
##External redirect to //domain/administration/registrar/detail/47 URL.
RewriteBase /administration/registrar/
RewriteCond %{THE_REQUEST} \s/([^/]*)/([^/]*)/(?:[^_]*)_([^.]*)\.php\?a_id=(\S+)\s [NC]
RewriteRule ^ /%1/%2/%3/%4? [R=301,L]
##Internal rewrite to term_detail.php file.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/?$ $1/$2/term_$3.php?a_id=$4 [QSA,L]https://stackoverflow.com/questions/73040382
复制相似问题