问题描述
我移动了我的系统论坛,我需要一些重定向。我很难重定向这个网址。
<MyCustomLayout>
<LinearLayout android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@xml/shape_corner">
</LinearLayout>
</MyCustomLayout>
<ImageView android:layout_width="18dp"
android:layout_height="13dp"
android:rotation="180"
android:layout_centerInParent="true"
android:layout_gravity="center_horizontal"
android:background="@xml/triangle"/>
您可以查看此更改:
原始网址: https://www.website.com/folder/2087-name-of-the-article
来源网址 https://www.website.com/folder/name-of-the-article-r929/
解决方法
第一个解决方案(通用解决方案,它不检查 url 是否从文件夹 1 开始):根据您显示的示例,您能否尝试以下操作。请确保在测试您的网址之前清除浏览器缓存。
RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/([\w-]+)/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])-(.*)/?$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/%1/%8-r%7%6%5%4%3%2 [R=301,L]
或不使用 RewriteCond:
RewriteEngine ON
RewriteRule ^([\w-]+)/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])-(.*)/?$ http://%{HTTP_HOST}/$1/$8-r$7$6$5$4$3$2 [R=301,L]
当我使用链接 http://localhost/folder1/123456-name-of-article
测试上述规则时,它在后端重写为 http://localhost/folder1/name-of-article-r654321
。
第二种解决方案(检查 uri 从文件夹 1 开始的地方): 以上规则是通用规则,以防您想检查 URI 是否专门从 {{1}然后尝试遵循以下规则,确保一次以上或以下规则仅在您的 .htaccess 文件中。
folder1
OR 在仅单个 RewriteRule 中没有 RewriteCond 尝试:
RewriteEngine ON
RewriteCond %{REQUEST_URI} ^/(folder1)/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])-(.*)/?$ [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/%1/%8-r%7%6%5%4%3%2 [R=301,L]