apache - htaccess 不同页面的相同重写规则不起作用

标签 apache .htaccess

我的网站中有两个不同的页面,我需要重写这两个页面的网址。我已经尝试过这段代码,但不起作用,只有一个起作用,另一个不起作用。

在我的 htaccess 中

第一条规则:

RewriteRule ^([a-zA-Z0-9-/]+)$ view.php?link=$1  

第二条规则:

RewriteRule ^([a-zA-Z0-9-/]+)$ list.php?name=$1 

只有第一个有效,谁能告诉我如何解决这个问题。

最佳答案

您需要能够区分这两种类型的 URL。鉴于此:

http://example.com/foo

它会转到/view.php?link=foo吗?或者它会转到 /list.php?name=foo 吗?

实现此目的的一种方法是在 URL 的动态部分添加前缀,例如:

http://example.com/view/foo
http://example.com/list/foo

所以规则看起来像:

RewriteRule ^view/([a-zA-Z0-9-/]+)$ view.php?link=$1  
RewriteRule ^list/([a-zA-Z0-9-/]+)$ list.php?name=$1  

关于apache - htaccess 不同页面的相同重写规则不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22139822/

相关文章:

.htaccess 将包含路径设置为 document_root 变量

javascript - .htaccess 文件扩展名移除器代码破坏网站表单

php - 有一个很长的 .htaccess 文件可以吗?

.htaccess - nginx 中 MEAN-stack 应用程序的漂亮 url

linux - public_html 的 777 权限 - 某些服务器上的内部服务器错误,但其他服务器上没有?

Windows : how to? 上的 Python 和 XAMPP

android - 带有 MITM 的强制门户页面

apache - .htaccess 代码拒绝文件夹浏览

apache - 如何动态地将超链接 (BookmarkablePageLink) 添加到呈现为 anchor 的 DefaultDataTable

.htaccess - Android/iOS htaccess 检测和重定向