Php 漂亮的url没有重定向,htaccess

Php 漂亮的url没有重定向,htaccess,php,apache,.htaccess,redirect,mod-rewrite,Php,Apache,.htaccess,Redirect,Mod Rewrite,我对htaccess是个新手。我已经成功地创建了具有以下规则的.htaccess文件,以使用漂亮的url重定向用户 我的实际url http://localhost/domain.com/Job-Details.php?Job_ID=30 我想要实现的目标 http://localhost/domain.com/30 我当前的htaccess RewriteEngine On RewriteBase /domain.com/ # Get the URI-path directly from T

我对htaccess是个新手。我已经成功地创建了具有以下规则的.htaccess文件,以使用漂亮的url重定向用户

我的实际url

http://localhost/domain.com/Job-Details.php?Job_ID=30

我想要实现的目标

http://localhost/domain.com/30

我当前的htaccess

RewriteEngine On
RewriteBase /domain.com/

# Get the URI-path directly from THE_REQUEST variable
  RewriteCond %{THE_REQUEST} ^(GET|HEAD)\s/(.*)\.php [NC]

# Search friendly URLs for job detail page 
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^([0-9]+)$ Job-Details.php?Job_ID=$1 [NC,L,R=301]
我面临的问题

  • 未发生带有漂亮url的重定向。我还在看旧网址
  • 当我直接在地址栏中输入漂亮的url时,使用上面提到的htaccess,页面显示良好,但url会自动更改为我的当前url
  • 你知道我做错了什么吗。

    改变这个:
    RewriteRule^([0-9]+)$Job Details.php?Job_ID=$1[NC,L,R=301]

    RewriteRule^([0-9]+)$Job Details.php?Job_ID=$1[L,QSA]


    当R=301时,您正在创建301重定向

    请尝试以下
    /domain.com/.htaccess
    代码:

    重新编写引擎打开
    RewriteBase/domain.com/
    #将实际URI重定向到SEF URI
    RewriteCond%{THE_REQUEST}(?:GET | HEAD)\s\/domain.com\/Job \-Details\.php\?Job \-u ID\=(\d+)[NC]
    是否重写规则^1?[R=302,长,东北]
    #作业详细信息页面的SEF URI
    重写cond%{REQUEST_FILENAME}-F
    重写cond%{REQUEST_FILENAME}-D
    重写规则^(\d+)$Job Details.php?Job_ID=$1[NC,QSA,L]
    

    如果您对结果满意,请将
    R=302
    更改为
    R=301
    。请记住在测试之前清除缓存,否则您的浏览器可能会根据历史缓存重定向。

    是否更改并重新启动了我的web服务器,但仍然存在相同的问题。请尝试在HTAccess的开头添加
    选项+FollowSymLinks
    以解决您的问题?2?否,仍然存在相同的问题。添加选项+FollowSymLinks后再次重新启动服务器,但没有结果。请尝试查看该问题:第一个条件似乎缺少规则。这样的规则需要将旧URI重定向到新URI。然后,第二批将新内容改写为旧内容。另外,您需要从第二批规则中删除
    R=301
    。是的,我在第一个条件和重写规则上面添加了RewriteCond%{the_REQUEST}\Job Details.php?Job_ID=([0-9]+)[NC]。Job-Details.php[L]在上述两个条件之后。然后重新启动服务器,停止url更改为旧url。但是重定向到新的漂亮url仍然是个问题。谢谢Mike。这一切都如愿以偿&是的,我又一次成为了一个快乐的人:-)迈克-这对一些URL有效&对一些URL无效。有什么原因吗?那可能是缓存问题。确保该站点已完全清除,以便一切正常工作。谢谢Mike,通过关闭所有内容并重新启动使其正常工作:-)