【问题标题】:Remove question mark from url using htaccess使用 htaccess 从 url 中删除问号
【发布时间】:2016-01-09 14:18:57
【问题描述】:

我想重定向网址:https://WEB_URL/video?id=1https://WEB_URL/video/1 我已经编写了以下 htaccess 代码,但它不起作用:

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^video/([^.]*)$ video?id=$1 [QSA,L]

我的完整htaccess代码如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]


RewriteEngine On
ErrorDocument 404 /login.php

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    # To externally redirect /dir/abc.php to /dir/abc
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
    RewriteRule ^ /%1 [R=301,L,NE]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^([^\.]+)/?$ $1.php [QSA,NC,L]

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^video/([^.]*)$ video?id=$1 [QSA,L]
</IfModule>

为什么它不起作用?我做错了什么,请帮助我。 提前致谢。

【问题讨论】:

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


    【解决方案1】:

    试试这个:

    ErrorDocument 404 /login.php
    
    Options -MultiViews
    RewriteEngine On
    RewriteBase /
    
    # external redirect from actual URL to pretty one
    RewriteCond %{THE_REQUEST} /video(?:\.php)?\?id=([^\s&]+) [NC]
    RewriteRule ^ /video/%1? [R=302,L,NE]
    
    # To externally redirect /dir/abc.php to /dir/abc
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
    RewriteRule ^ /%1 [R=301,L,NE]
    
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^video/([^.]+?)/?$ video.php?id=$1 [QSA,L,NC]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^([^.]+?)/?$ $1.php [L]
    

    【讨论】:

    • 我试过你的代码,但它重定向但显示页面未找到页面
    • URL 是 https://WEB_URL/video?id=1 并重定向到 https://WEB_URL/video/1 但由于 htaccess 代码 ErrorDocument 404 /login.php 它显示登录页面。 .htaccess 代码在根目录中
    • 请查看我的问题中的完整 htaccess 代码
    猜你喜欢
    • 2013-09-04
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2021-10-02
    • 2015-01-20
    相关资源
    最近更新 更多