【问题标题】:dynamic url change issue动态网址更改问题
【发布时间】:2021-09-11 22:06:44
【问题描述】:

我想将我的网址从 https://website.com/free?s=new-check 更改为 https://website.com/free/new-check/

我当前的 htaccess 代码:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]    
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]

RewriteCond %{THE_REQUEST} /free\?s=([^\s]+) [NC]
RewriteRule ^ /%1? [NC,L,R]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^.]+)$ /free?s=$1 [NC,L]

它有效并定向到https://website.com/new-check,但我想要的是https://website.com/free/new-check/ 之前我从 URL 中删除了 .php 扩展名。

我尝试了很多解决方案,但没有任何效果。请帮帮我

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting friendly-url


    【解决方案1】:

    对于您显示的示例,请尝试遵循 htaccess 规则。如果您的文件中还有其他规则,请确保将这些规则保留在您的 htaccess 文件的顶部。

    请确保在测试您的 URL 之前清除您的浏览器缓存。

    RewriteEngine On
    ##https apply rules here.
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
    
    ##External redirect Rule here.
    RewriteCond %{THE_REQUEST} \s/(free)\?s=([^\s]+)\s [NC]
    RewriteRule ^ /%1/%2? [L,R=301]
    
    ##Internal rewrite rule here.
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(?:[^/]*)/(.*)/?$ free.php?s=$1 [NC,QSA,L]
    

    【讨论】:

    • 非常感谢您的解决方案。它反映在 url 栏中,但“免费”名称作为目录。所以我在link 中遇到了内部服务器错误。我手动尝试了 [link](website.com/free.php/new-check)it 有效。但我不想在 URL @RavinderSignh13 中使用 .php
    • @MildMilly,好的,你能试试我更新的代码吗?请确保在测试您的 URL 之前清除您的浏览器缓存。让我知道情况如何。
    • 再次感谢您的努力。这次我运气不好,找不到页面 - 404错误。 @RavinderSignh13
    • 你成就了我的一天!是工作!只是我更改了文件名 RewriteRule ^(?:[^/]*)/(.*)/?$ free.php?s=$1 [NC,QSA,L] 。当我检查 go 按钮时,Index.php 文件只有一个按钮,它会将我带到 free.php 的值,例如 www.website.com/free/s=new-check。太感谢了!你真的让我开心! @RavinderSingh13
    • 无话可说!再次感谢你!祝你有美好的一天! @RavinderSingh13
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多