【问题标题】:rewrite ruels not working in localhost重写规则在本地主机中不起作用
【发布时间】:2016-10-07 09:57:49
【问题描述】:

当我在线上传网站时,我尝试重写网站的 URL,一切正常,但在 loaclhost 中不起作用。 我正在使用 xampp>Windows7>Apache

链接不像我重写的那样工作

这不起作用的例子:http://localhost/site/blog/id/1

这在本地主机http://localhost/site/blog.php?id=1 中工作

RewriteRule ^([a-zA-Z0-9]+)$ $1.php [NC,L]

RewriteCond %{REQUEST_FILENAME} ^[A-Z]{3,}\s/+questions\.php\?postid=([^\s&]+) [NC]
RewriteRule ^ questions/postid/%1? [R=301,L]
#RewriteRule ^questions/postid/([^/]+)/?$ questions.php?postid=$1 [L,QSA]

【问题讨论】:

    标签: php apache .htaccess mod-rewrite localhost


    【解决方案1】:

    你可以使用这个 .htaccess :

    RewriteEngine on
    #"/questions.php?postid=123" to "/questions/postid/123"
    RewriteCond %{THE_REQUEST} /questions\.php\?postid=([^\s&]+) [NC]
    RewriteRule ^ /questions/postid/%1? [R=301,L]
    RewriteRule ^questions/postid/([^/]+)/?$ /questions.php?postid=$1 [L,QSA]
    #rewrite "file" to "file.php"
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.*?)/?$ /$1.php [NC,L]
    

    【讨论】:

    • 它起作用了,但是在下一页它显示找不到这个对象!在此服务器上找不到请求的 URL。引用页面上的链接似乎是错误的或过时的。请将该错误通知该页面的作者。如果您认为这是服务器错误,请联系网站管理员。错误 404 localhost Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.6.8
    • 抱歉,规则中有错字。修改后的规则有效吗?
    • 抱歉,这个编辑后的副本根本不起作用@starkeen
    猜你喜欢
    • 1970-01-01
    • 2018-05-06
    • 2012-08-17
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    相关资源
    最近更新 更多