我有这条规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profil.php?upime=$1
它正在运行。现在我想知道如何重写另一个页面的 URL:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ profil.php?upime=$1
RewriteRule ^(.*)$ novica.php?nid=$2 - I did this, but is not working.
我该怎么做才能将这两个规则都放在一个 .htaccess
文件中?
最佳答案
你不能像在你的例子中那样做,因为你正在重写所有内容:^(.*)$
。
如果您想要两个不同的规则,则需要选择要将哪些 url 写入哪个最终目的地。
将以不同字符串开头的不同 url 重写到不同目的地的示例:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^starts_with_this(.*)$ profil.php?upime=$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^starts_with_something_else(.*)$ novica.php?nid=$1
关于php - .htaccess 多 URL 重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12860695/