.htaccess链接重写将返回404错误

盖斯·伊沙克(Ghaith Ishaq)

我有一个看起来像这样的链接:

https://www.example.com/news/foobar.php?id=14&artName=Hello-World

我希望它看起来像这样:

https://www.example.com/news/foobar/14/Hello-World

这是我目前在.htaccess代码中所拥有的:

<IfModule mod_speling.c>
   CheckSpelling off
   CheckCaseOnly off
</IfModule>

Options -MultiViews
RewriteEngine On

RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,NE]

RewriteRule ^(news/foobar)/([\w-]+)/(.+) $1.php?id=$2&artName=$3 [QSA,L,NC]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.php -f
RewriteRule !\.php$ %{REQUEST_URI}.php [QSA,L]

文章的链接如下所示:

<a href = "https://www.example.com/news/foobar/'.$row['id'].'/'.$row['linkAddress'].'">Article</a>

从数据库哪里:

$row['id'] = 14 and $row['linkAddress'] = Hello-World

当我去:

https://www.redicate.com/news/foobar/14/Hello-World

我收到404错误-未找到

如果我改为:

https://www.redicate.com/news/foobar.PHP/14/Hello-World

该网站已加载,但缺少get变量,因此该网站看起来很破损。

我不知道是什么原因导致此404错误,并且我一直在解决此问题已有一段时间,我将不胜感激,谢谢。

维克

不完全是您的,但是这里有一个对我有用的精简版。

<FilesMatch "^\.htaccess">
    Order allow,deny
    Deny from all
</FilesMatch>

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f


RewriteRule ^/?(.*)/(.*)$ news.php?id=$1&artName=$2 [NC,L,QSA]

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule (.*) $1.php [L]

另外,请确保SSL已启用,设置并正常运行。希望能帮助到你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

.htaccess,将404错误重写到其他域

来自分类Dev

简单的htaccess重写规则错误404

来自分类Dev

htaccess重写错误和404

来自分类Dev

简单的htaccess重写规则错误404

来自分类Dev

URL重写不断返回404错误

来自分类Dev

htaccess将传入链接重写为新链接

来自分类Dev

重定向404错误htaccess后重写URL

来自分类Dev

.Htaccess 重写文件阻止查看新网页,404 错误

来自分类Dev

使用 .htaccess 重写 url 后出现 404 错误

来自分类Dev

网址中的点返回404错误(.htaccess)

来自分类Dev

网址中的点返回404错误(.htaccess)

来自分类Dev

使用htaccess将所有内容从http重写为https,但响应时带有错误代码以返回api

来自分类Dev

使用htaccess将所有内容从http重写为https,但响应时带有错误代码以返回api

来自分类Dev

htaccess重写URL错误

来自分类Dev

htaccess需要返回404时返回500错误

来自分类Dev

htaccess重写直接照片链接

来自分类Dev

htaccess重写直接照片链接

来自分类Dev

.htaccess中的Joomla 301重定向返回404错误

来自分类Dev

返回错误404的前一个URL链接

来自分类Dev

更新了htaccess中的重写规则,在Google Web Master工具中出现错误404

来自分类Dev

传递多个变量时,.htaccess重写规则会导致错误404

来自分类Dev

htaccess重写为Nginx错误

来自分类Dev

htaccess重写规则%20错误

来自分类Dev

将目录重写到另一个目录以使用htaccess停止404

来自分类Dev

.htaccess将文件名URL的请求重写为相应的永久链接URL

来自分类Dev

.htaccess 将图像文件重写为 php 脚本 -> 显示损坏的图像链接

来自分类Dev

使用.htaccess设置某些文件类型的Web服务器处理404错误(ErrorDocument 404 +重写规则)

来自分类Dev

使用.htaccess为某些文件类型设置Web服务器处理404错误(ErrorDocument 404 +重写规则)

来自分类Dev

将 htaccess 重写为 nginx

Related 相关文章

  1. 1

    .htaccess,将404错误重写到其他域

  2. 2

    简单的htaccess重写规则错误404

  3. 3

    htaccess重写错误和404

  4. 4

    简单的htaccess重写规则错误404

  5. 5

    URL重写不断返回404错误

  6. 6

    htaccess将传入链接重写为新链接

  7. 7

    重定向404错误htaccess后重写URL

  8. 8

    .Htaccess 重写文件阻止查看新网页,404 错误

  9. 9

    使用 .htaccess 重写 url 后出现 404 错误

  10. 10

    网址中的点返回404错误(.htaccess)

  11. 11

    网址中的点返回404错误(.htaccess)

  12. 12

    使用htaccess将所有内容从http重写为https,但响应时带有错误代码以返回api

  13. 13

    使用htaccess将所有内容从http重写为https,但响应时带有错误代码以返回api

  14. 14

    htaccess重写URL错误

  15. 15

    htaccess需要返回404时返回500错误

  16. 16

    htaccess重写直接照片链接

  17. 17

    htaccess重写直接照片链接

  18. 18

    .htaccess中的Joomla 301重定向返回404错误

  19. 19

    返回错误404的前一个URL链接

  20. 20

    更新了htaccess中的重写规则,在Google Web Master工具中出现错误404

  21. 21

    传递多个变量时,.htaccess重写规则会导致错误404

  22. 22

    htaccess重写为Nginx错误

  23. 23

    htaccess重写规则%20错误

  24. 24

    将目录重写到另一个目录以使用htaccess停止404

  25. 25

    .htaccess将文件名URL的请求重写为相应的永久链接URL

  26. 26

    .htaccess 将图像文件重写为 php 脚本 -> 显示损坏的图像链接

  27. 27

    使用.htaccess设置某些文件类型的Web服务器处理404错误(ErrorDocument 404 +重写规则)

  28. 28

    使用.htaccess为某些文件类型设置Web服务器处理404错误(ErrorDocument 404 +重写规则)

  29. 29

    将 htaccess 重写为 nginx

热门标签

归档