如何在php中将动态url更改为静态url

时间:2015-05-28 17:35:56

标签: php .htaccess

我想在使用.haccess时将动态网址链接更改为静态网址链接,显示错误500,我有很多链接,其中包含不同的网址链接名称。

 Options +FollowSymLinks 
 RewriteEngine on 
 RewriteRule product/categoryid/(.*)/productid/(.*)/ product.php?categoryid=$1&productid=$2
 RewriteRule product/categoryid/(.*)/productid/(.*) product.php?categoryid=$1&productid=$2

1 个答案:

答案 0 :(得分:0)

根据您的问题,我们假设您从域根运行。因此,请将以下内容放在/.htaccess文件中:

Options +FollowSymLinks 

RewriteEngine On
RewriteRule ^product/categoryid/(\d+)/productid/(\d+)/?$ /product.php?categoryid=$1&productid=$2 [NC,QSA,L]

所做的更改:

  1. 我已将您的两条规则压缩为一条规则(Don't Repeat Yourself),使结尾正斜杠(/)可选
  2. 匹配表达式的开头(^)和结束($
  3. (.*)现在是(\d+),仅匹配数字(假设为ID)
  4. 在规则中添加了无案例(NC),查询字符串追加(QSA)和最后(L)个标记
  5. 注意:您需要确保mod_rewrite确实已启用。如果500内部服务器错误仍然存​​在,请检查您的Apache日志。