如果我更改了URL,如何管理GET方法?
我从更改了PHP网页的URL
website.com/article.php?id=1&name=NewStory
至
website.com/article/1/NewStory
.htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^article/([0-9]+)/([0-9a-zA-Z_-]+) article.php?id=$1&name=$2 [NC,L]
以前,构建URL很容易,因为你可以在URL中添加你的信息,比如:
article.php?id=1&name=NewStory
使用GET方法从URL获取信息也很容易,比如:
$articleID = $_GET['id'];
$articleName = $_GET['name'];
你能帮我提供一个解决方案来保留我用.htaccess文件更改的URL并管理GET方法吗?
如何使用GET方法从这样的URL获取信息?
website.com/article/1/NewStory
如何按照.htaccess文件编写URL?
谢谢!
这是因为您的新URL/article/1/NewStory
当前通过Multiviews
而不是通过RewriteRule
指向/article.php
文件
要修复此问题,您需要禁用Multiviews
并删除RewriteCond %{REQUEST_FILENAME}.php -f
条件,以检查是否存在要重写的PHP文件。
Options -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^article/([0-9]+)/([0-9a-zA-Z_-]+) article.php?id=$1&name=$2 [NC,L]