【问题标题】:htaccess rewrite url and redirecthtaccess 重写 url 并重定向
【发布时间】:2014-11-26 07:25:11
【问题描述】:

我想知道如何将此网址 profile.php?user=1 重写为 /user/1。 我知道这可以通过.htaccess 来完成。这是我尝试过的,效果很好,但唯一的问题是它

RewriteCond %{THE_REQUEST} \s/+profile\.php\?user=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=302,L]

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

除了这些代码,我的 .htacces 也有这些行

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.*$ [NC] 
RewriteRule \.(gif|jpg|png)$ http://www.domain.com [L]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
ErrorDocument 404 /error404.php
ErrorDocument 403 /error404.php
Options -Indexes 

RewriteCond %{THE_REQUEST} \s/+page\.php\?pagename=([^\s&]+) [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /page.php?pagename=$1 [L,QSA]

还请告诉我我的 .htaccess 页面是否正确。我不擅长htaccess

【问题讨论】:

  • .htaccess rewrite GET variables 的可能重复项
  • 没有那个页面不回答我的问题,请在这里回答-lease
  • "但唯一的问题是它..."???有什么问题?
  • 我想将 url 从 profile.php?user=1 改写为 /user/1

标签: php .htaccess


【解决方案1】:

在 htacess rewrite 中,您实际上希望将 url 结构重定向到不同的 url

如果您有指向 profile.php?user=1 的链接,则必须将其更改为:profile.php/user/1 然后告诉您的 htacess 将此地址重定向到此profile.php?user=1

你可以这样做:

RewriteRule ^user/(.*)$        index.php?&user=$1

如果你想测试一些 htaccess,我会推荐这个 usedul 网站:http://htaccess.madewithlove.be/

【讨论】:

    【解决方案2】:

    改变这个:

    RewriteCond %{THE_REQUEST} \s/+profile\.php\?user=([^\s&]+) [NC]
    RewriteRule ^ /%1? [R=302,L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([^/]+)/?$ profile.php?user=$1 [L,QSA]
    

    到:

    RewriteCond %{THE_REQUEST} \s/+profile\.php\?user=([^\s&]+) [NC]
    RewriteRule ^ /user/%1? [R=302,L]
    
    RewriteRule ^user/([^/]+)/?$ profile.php?user=$1 [L,QSA]
    

    并确保页面具有绝对链接或将其添加到页面的标题中:

    <base href="/" />
    

    否则,您的所有链接都会被破坏。

    【讨论】:

    • 页面指向 user/1 但页面显示 404 错误.. 有什么想法吗?
    • @anamika 第二条规则捕获以/user/开头的所有内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-21
    • 2015-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2016-09-28
    相关资源
    最近更新 更多