我正在努力解决在不改变内容的情况下重写网址的问题。
我想在浏览器网址中显示不同的网址,但内容仍然相同
我的网址是http://fortin.agency/audit-seo/frtcrwl/health_check/report/578/leasingautomobile.ro
我想把它改成http://fortin.agency/audit-seo/578/leasingautomobile.ro
我做了什么:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^frtcrwl/health_check/report/(.*)$ /$1 [L,NC,R=301,NE]
不起作用......有任何帮助吗?
编辑
网址中的578是动态的,也是“leasingautomobile.ro”编辑#2
最终代码:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/(audit-seo)/frtcrwl/health_check/report/(.+)$ [NC]
RewriteRule ^ /%1/%2 [L,R=301,NE]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L]
仍未按预期工作,因为它会抛出错误404.路径可以保持不变吗?因为浏览器链接中的URL现在是完美的。感谢@anubhava到现在为止
答案 0 :(得分:1)
将规则更改为此并在frtcrwl/.htaccess
Options +FollowSymlinks
RewriteEngine on
RewriteBase /audit-seo/frtcrwl/
RewriteCond %{THE_REQUEST} \s/+(audit-seo/frtcrwl)/health_check/report/(\S+) [NC]
RewriteRule ^ /%1/%2 [L,R=301,NE]
RewriteRule ^\d+/[^/]+/?$ index.php?/health_check/report/$0 [L,NC,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php?/$0 [PT,L,QSA]
答案 1 :(得分:1)
如果您希望能够从http://fortin.agency/audit-seo/frtcrwl/health_check/report/578/leasingautomobile.ro
访问http://fortin.agency/audit-seo/578/leasingautomobile.ro
,则可以使用以下规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^audit-seo/(.+)$ audit-seo/frtcrwl/health_check/report/$1 [L,NC]